提出问题
项目开发过程中,编程,重构,测试需要注意的几点???
解决问题
以下来自《程序员修炼之道》中自己的一些总结:
靠巧合编程
不依靠运气和偶然的成功,而要深思熟虑的编程
怎样深思熟虑的编程:
- 总是意识到你在做什么
- 不要盲目的编程
- 按照计划行事
- 依靠可靠的事物
- 为你的假定建立文档
- 不要只是测试你的代码,还要测试你的假定
- 为你的工作划分优先级。把时间花在重要的方面。
- 不要做历史的奴隶,不要让已有的代码支配将来的代码,如果不再适用,所有代码都可被替换。
重构
重写,重做,重新架构代码合起来称为重构。
代码需要演化,它不是静态事物。
不要对改动犹豫不决
代码若具有如下特征,则应该考虑重构:
- 重复(DRY原则违反)
- 非正交的设计
- 过时的知识
- 性能
就其核心而言,重构就是重新设计
早重构,常重构
重构要趁早,不要等毒瘤长大了,再切除
重构是一项谨慎,需要深思熟虑,小心进行的活动。
怎样进行利大于弊的重构:
- 不要试图在重构的同时增加功能
- 在开始重构之前,确保你拥有良好的测试。(尽可能经常运行这些测试,如果你的改动破坏了任何东西,你很快可以知道)
- 采取短小,深思熟虑的步骤:把某个字段从一个类移往另一个类,把两个类似的方法融合进超类中。
易于测试的代码
针对合约进行测试
我们喜欢把单元测试视为针对合约测试。
为测试而设计
编写单元测试
无论是小项目还是大项目,每个单元测试都应该放在容易找到它的位置。如果单元测试不容易找到,也就不会使用它。
使用测试装备
在面向对象的语言和环境中,你可以创建一个提供这些常用操作的基类。各个测试可以对其进行继承,并增加专用的测试代码。(说白了就是要对测试类进行重构,使其可复用和继承)
测试文化
测试你的软件,否则你的用户就得测试
邪恶的向导
不要使用你不理解的向导代码
就是说有些开发工具帮你生成代码,但是你要理解它,否则不要乱用。