每个人的编程风格都是不同的,如果没有约束让人去自己编写一个代码,可能到头来能看懂那个代码的人只有他一个。而对于一个大型的软件工程来说,只靠一个人是不可能完成的,如果我行我素的编写代码,就会出现各种各样的问题。因此对于一个团队而言规范好编写代码的方法是十分重要。所以我和我的伙伴在编写代码的过程中,约定了变量的命名方式,并在每一行关键代码后面编写了注释。在共同编写的过程中没有出现互相看不懂的情况,通过注释能很好的理解不是自己编的部分。通过这次经历,对于写好的源代码我们也有一些建议:1. 在源代码测试过后,机器状态保持不变。如果源代码在数据库中创建或修改了记录,那么也许要删除或恢复这些记录,或者每一个源代码使用一个新的数据库,这样可以保证源代码不受以前源代码实例的干扰。2. 源代码要快(一个测试的运行时间是几秒钟,而不是几分钟)3. 源代码应该产生可重复、一致的结果。比如说:如果用随技术以增加测试的真实性,好么?答:一般情况下不好,如果某个随机数导致程序出错,但是下一次运行又不能重复这一错误,则于事无补。我们还是要用随机数等办法“增加测试的真实性”,但不是在源代码中。源代码不能解决所有问题,不必期望它会发现所有的缺陷。4. 独立性——源代码的运行/通过/失败不依赖于别的测试,可以认为构造数据,以保持源代码的独立性。5. 源代码应该覆盖所有代码路径。
之后我们又探讨到了代码复审这一部分,在我们看来,要做到代码更加完美,需要一遍遍的复审代码,不容许有一丝错误的存在,那么就会存在一个问题:若果开发者做到完美,那么复审者的时间和精力就是一种浪费了?答:不对,即使是完美,代码复审也还有“教育”和“传播知识”的作用。更重要的是,不管多么厉害的开发者都会或多或少地犯一些错误,有欠考虑的地方,如果有问题的代码已签入到产品代码中,在要把所有的问题找出来就更困难了。大家学习软件工程都知道,越是项目后期发现的问题,修复的代价越大。代码复审正是要在早起发现并修复这些问题。另外,在代码复审中的问题与回应能帮助团队成员互相了解,就像练武之人相互观摩点评一样。团队有新成员加入时,代码就附身能非常有效的帮助新成员了解团队的开发策略、编程风格及工作流程。