预研:
1:熟悉旧模块的外部接口,统计出来,并形成文档。
2:画出旧模块的主要数据结构。
3:画出复杂的接口,内部处理函数的流程图。
4: 重新设计该模块的原因一般是模块的架构有问题,但业务处理逻辑没有变化。
所以,主要数据结构应该没有太大的变化,但表现形式可能改变。(考虑系统的性能,内存消耗)
5:根据就模块的数据结构和新模块的架构,重新定义数据结构。定义数据结构时不要用旧模块中的字段的名称。
6:确定新的外部接口。
7:找出新架构下,难以处理的业务逻辑。性能瓶颈
详细设计:
1:首先确定模块的文件目录结构。
2:将核心的数据结构形成头文件。
3:顶住压力(或者自己加班)搭建测试环境,包括编译环境,输入数据、硬件环境,网络环境等等。
4:编写框架的demo代码,要做到可运行,可测试。(写代码时要做到写完一个或几个函数要简单测试下)
a:编译器可以帮助我们发现低级错误
b 编译警告我们要仔细查看,做到没有警告。
c 运行,简单验证功能是否有问题。
d 验证完后看看是否有可以修改的逻辑。要修改代码的风格。
e 要现用空函数的形式搭建模块的框架。然后再一个一个的实现这些空函数。(当然实现这些空函数时又产生了一大堆函数)
f 模块中可能有重复的处理逻辑,要适当的抽象处理,形成一个小功能,供多个地方调用。
g 一个函数仅处理一件事情,一般情况单个函数的代码不会超过80行(不算大括号),缩小于3次,一行代码不超过80—90个字符。某天一哥们说80行写不玩一函数,另一哥们说原因是你太菜!当时觉得有点偏激,现在看来确实是我太菜。
h 我现在最头痛的是:我的变量我函数名太长,而一行只有80个字符,一次缩进8个字符,老是要换行,郁闷。
5:demo代码不是实验代码,是正式代码的原型,所以demo代码其实将整个模块的骨架实现了。
6:根据demo代码测试下模块的性能,看看模块在极端情况下的内存情况,性能情况。
如果觉得满意开始详细设计之文档设计。
阅读(725) | 评论(1) | 转发(1) |