提出问题

项目开发过程中,编程,重构,测试需要注意的几点???

解决问题

以下来自《程序员修炼之道》中自己的一些总结:

靠巧合编程

不依靠运气和偶然的成功,而要深思熟虑的编程

怎样深思熟虑的编程:

  • 总是意识到你在做什么
  • 不要盲目的编程
  • 按照计划行事
  • 依靠可靠的事物
  • 为你的假定建立文档
  • 不要只是测试你的代码,还要测试你的假定
  • 为你的工作划分优先级。把时间花在重要的方面。
  • 不要做历史的奴隶,不要让已有的代码支配将来的代码,如果不再适用,所有代码都可被替换。

    重构

重写,重做,重新架构代码合起来称为重构。

代码需要演化,它不是静态事物。

不要对改动犹豫不决

代码若具有如下特征,则应该考虑重构:

  • 重复(DRY原则违反)
  • 非正交的设计
  • 过时的知识
  • 性能

就其核心而言,重构就是重新设计
早重构,常重构

重构要趁早,不要等毒瘤长大了,再切除

重构是一项谨慎,需要深思熟虑,小心进行的活动。

怎样进行利大于弊的重构:

  • 不要试图在重构的同时增加功能
  • 在开始重构之前,确保你拥有良好的测试。(尽可能经常运行这些测试,如果你的改动破坏了任何东西,你很快可以知道)
  • 采取短小,深思熟虑的步骤:把某个字段从一个类移往另一个类,把两个类似的方法融合进超类中。

    易于测试的代码

    针对合约进行测试
    我们喜欢把单元测试视为针对合约测试。

为测试而设计

编写单元测试

无论是小项目还是大项目,每个单元测试都应该放在容易找到它的位置。如果单元测试不容易找到,也就不会使用它。

使用测试装备

在面向对象的语言和环境中,你可以创建一个提供这些常用操作的基类。各个测试可以对其进行继承,并增加专用的测试代码。(说白了就是要对测试类进行重构,使其可复用和继承)

测试文化

测试你的软件,否则你的用户就得测试

邪恶的向导

不要使用你不理解的向导代码

就是说有些开发工具帮你生成代码,但是你要理解它,否则不要乱用。