注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题

辛昕.九门.上 http://home.eeworld.com.cn/space-uid-115166.html [收藏] [复制] [分享] [RSS]

日志

八月初纪事

已有 654 次阅读2016-8-8 07:45

首先,以后 每月纪事 不再发到qq空间,只在这里。

七月份的时候,赶一个项目,大概就占用了前20天。基本没时间或者精力想别的。

后面十天稀里糊涂地好像就过去了。

当然,看剧,看书,把一些杂七杂八一直没有做的事情,心一横坐下来直接端了的也有,所以估计时间就这么没的。


关于时间表

印象笔记 有提醒功能,可以说,这是其他同类所有笔记类软件里都没有的功能,因此我决定再次启用笔记类软件,但我基本只用两个功能

1.一些要做的事情的快记;

2.其中一些最近(一般是一周内)必须要做的事情,则设置时间提醒;

印象笔记尽管目前没有linux版本,而且网页版似乎没怎么看到正常的提醒功能,但是windows和安卓,苹果版的客户端,都有提醒功能,这个功能对我来说非常重要。


但是,在20号之后,我尝试只使用印象笔记,而不再用以前用的手动excel文件的时候,我发现还是有些欠缺,所以我想,看来两者还是得混合使用。除此之外,印象笔记免费版,每月上传流量很有限,而且不具备文件同步功能,所以,笔记只做记录,文件依然放在坚果云盘里。

但时间表有一个很大的改进是

不再琐碎地详细记录每个具体事件细节花费的时间(粒度在10mins级别),也不再过后去整理,节省这方面的文件性处理时间。

时间表计划只在当时有效,用以控制一天之内的计划安排。


nrf51822

计划已经很明确,目标也在实际行进中得到重要的修正。

因为朋友的基础几乎为零,所以我必须重新开始,此外,对于我自己,也像从前(大概2014年前后,我对stm32的错误自以为自己其实很了解这款芯片)。

在自己撰写收集资料为教朋友的教案之余,也可以作为我自己的梳理。

百度云手环

我一度想拿它作为一个蓝本,借鉴它的软件架构和作为一个方便公开讨论的和工作息息相关的项目,但是,在台风调休那天,我花了一天时间,打算强行把它做好的时候,最终却是从 强行到放弃。原因是,要让它通过编译,实在太苦逼。


原因主要有:

1-1.它采用的是mdk-4.54,这和最新的mdk5采用的pack方式,几乎是完全不一样。

nordicnrf51822的资料和例程基本都是以mdk5来的。

即使它有对mdk4的支持,但是并不给力。

原因是mdk4需要的一些jlink烧写有关的文件,在segger上已经下不到了,这尤其让我大为恼火。

此外,nordicSDK库,不同版本之间也很奇怪,有的似乎只能给mdk4用,有的只能给mdk5用。

于是我决定不管三七二十一,就用我最熟悉的sdk-8.0.0

但是在移植过程中遇到很多麻烦,其中最该死的就是,我不知道是因为sdk本身造成的差异还是说这王八蛋胡乱修改 nrf原来的库和例程 里的东西。

导致我在移植的过程里遇到很多很多麻烦。


2.在以上这些事实的基础上,我得出的一个结论是,我曾经想以此来得到一个不错的 智能穿戴项目平台,然而,现在,我放弃了。

因为这些移植的困难和 芯片厂商库,例程 的污染,充分说明 这个东西的架构完全不怎样。


所以我决定放弃这个想法,也许随便找一个,或者自己做一个都比他强,

或者是,另外到git上找也可以。


而下一步考虑做的是,从低功耗角度入手,彻底清算这类应用,功耗到底在什么地方有比较大的消耗,怎么用不同策略降低它。因为,指环这类东西,在我看来,要进一步降低它的体积,尤其是保证振动这种功能,功耗是第一道关卡,而且非拿下不可。



解依赖OR重构手法

这算是我以前看各类 软件思维,开发方法论 的书籍 留下的后遗症。

当时这些东西对我来说就像一些极具诱惑的东西,但我又无法把它彻底消化,结果就像走火入魔一样,几道真气体内乱窜,非但没有产生正面作用,反而祸患无穷。

所以这一两年我彻底忽略了这些东西,书也都放在书架里吃灰。老老实实回归到实际的项目。见招拆招。

慢慢地,我感到有好几个地方突然有一种七窍通了六窍的感觉,我也真正掌握了 粒度 这个 在这些事情里最重要的这个概念,并学会了把握它。

于是我决定重新部分地拾起一些重构技术。

这时我锁定了主要依赖两本书,尤其是 Martin Follwer的 重构,是的,这老头,他总是有办法把不是人话的东西写成人话,不管是UML精粹还是重构手法,我非他的看不懂。

另一本是 修改代码的艺术,这本书,是最近一阵子才买的,但确实是经典,因为这是来自真正第一线开发程序猿的经验之谈。

但是我看了后觉得,如果我能先看懂 重构手法,再去看会事半功倍。

但对于 重构 这本书怎么看怎么理解我一直觉得很辛苦,因为很难落到实处,于是我想到,必须采用一种强制性的办法。

它都是用java写的,坦白说,java代码我看得懂,而且为了更通俗,MF也特意回避了很多java特有的,高级的特性。

也就是说,这些代码是不具有语言依赖性的,但是我仍然缺乏像看C,和看单片机项目时那样的通透感,于是我决定先做一件事,强行把这些java代码翻译成我熟悉的C语言和应用场景。这事我有经验,把代码重新改写,是一种极其有效的真正深入了解代码的办法,在我身上尤其管用。

当然,重构手法很多,这本书也特别厚,尤其我当时误解了评注版的意思,结果不小心买了本英文版,还好,MF的通俗易懂再次发挥作用,我基本能看通。但仍然会很吃力。

后来考虑到不能一次性想要做的太多,否则会无法成功,于是我参考MF在序里提供的建议。

我对于重构的必要性和一般步骤这种事基本很熟络,所以前四章我不看,我直接选择我最想要熟练地重构手法,去做。

我现在能想到的也是我工作时经常碰到的,那就是 一大段的复杂函数和源文件。

我所谓的 从java翻译到C,其实指的就是,从我自己的理解,把C里的函数和源文件看成java里的方法和类,所以,我首先要拿下的两个臭味道是

长方法 和 长类,当然还包括它们附加的重构方法,具体有几个我不知道,我只知道一个 提炼,一个 替换。

但前四章,考虑到我很久没看这本书,我还是决定先扫一遍。


这件事情,估计会占据八月份的大多数晚上的时间。最终为了保证效果,我将努力将它做成一个围绕一段臭味道的C代码为主的应用笔记。


评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2018-11-21 02:17 , Processed in 0.014061 second(s), 9 queries , Gzip On, MemCache On.

Powered by EEWORLD电子工程世界

© 2018 http://bbs.eeworld.com.cn/

返回顶部