log080915 review minutes

来源:互联网 发布:漂亮的淘宝装修分割线 编辑:程序博客网 时间:2024/06/06 13:16

Watcher经过10天的努力终于快要完成,现在已经是可以总结经验的时候了。

回顾这10天的经过,与PTT打交道的过程花费了最多的时间。PTT是一个文件,里面存储了所有Watcher需要的数据,Watcher需要把里面相关的数据显示出来。

经验1.相同代码集合入一个方法。

Watcher要显示多个参数,每个参数在Watcher中由一个TextField对象显示出来。AS3中没有LayoutManager,每个TextField的位置需要自己设置。设置这些TextField的代码几乎一样,只是X、Y参数不同,所以可以将初始化TextField的代码写为一个方法,名为CreateTextField,他的参数为Label,x,y;返回值为一个初始化好的TextField。

心得:重复的操作相同的,参数不同的代码可以集合为一个方法。

花费时间最多的就是对PTT读取上。原来对PTT的访问都写在一个方法中,很不幸在开发过程中PTT的格式多次改变,这部分代码每次都要全部重写。这部分代码涉及复杂的文件分析算法,最复杂的地方达到4个嵌套的for循环,每次修改都要根据新的文件格式编写复杂的算法。

经验2.编写复杂算法时最后把算法逻辑和数据访问分隔开。

Watcher分析PTT时需要得到数据包的SentTick和RcvedTick,这些数据都不是在PTT中直接写明了的,而需要扫描PTT中的部分区域。这部分代码跟PTT的格式高度相关,所以应该将他们分别做成一个方法GetSentTick喝GetRcvedTick,参数都为Pid。

心得:可以先分析算法,得到该算法需要哪些变量,然后在算法中用变量代替直接读取数据的代码进行运算,在算法外面用读取数据的方法对变量进行赋值。