前人总结了软件工程和开发的很多思想,个人体会:
1. 模块化为第一准则。或者说分解法。将大问题分解为小问题,分而治之,每个小的软件单元做到可测试、可复用。很多其它设计思想都与此有关。
2. 抽象法。将实际生活场景的需求转化为软件称谓、概念和模型
3. 分层法。软件就是一层一层搭建起来的,从硬件指令到操作系统,到应用框架,到上层软件,每一层提供对下层的封装,对上层提供接口。
关于开发中的问题:
1. 开发中30%的时间是在思考怎么做,40%的时间是在debug问题,还有30%的时间是在写代码
2. 要写注释,注释是代码的一部分,没有注释的代码很快就会成为死代码。注释不是点缀,而是画龙点睛
3. 要先设计,再去实现。UML是极好的设计工具,数据结构,架构图,流程图,交互图,User case,UI都需要先设计好。