一、个人技术和流程
绝大部分软件都是有多人合作完成的。大家的工作相互有依赖关系。最典型的例子就是,某人负责的模块的功能被其他人调用。软件的很多错误都来源于程序员对模块功能的误解、疏忽或不了解模块的变化。如何能让自己负责的模块功能定义尽量明确,模块内部的改变不会影响其他模块,而且模块的质量能得到稳定的、量化的保证?单元测试就是一个很有效的解决方案。
创建单元测试函数的主要步骤是:
-
设置数据
-
使用被测试类型的功能
-
比较实际结果和预期的结果
好的单元测试的标准:
-
单元测试应该在最基本的功能/参数上验证程序的正确性
-
单元测试必须有最熟悉代码的人(程序的作者)来写
-
单元测试之后,机器状态保持不变
-
单元测试要快
-
单元测试应该产生可重复、一致的结果。
-
单元测试应该覆盖所有的代码路径
-
单元测试应该集成到自动测试的框架中
-
单元测试必须和产品代码一起保存和维护
二、两人合作
代码风格规范:
-
缩进
-
行宽
-
括号
-
断行与空白的{}行
-
分行
-
命名
-
下划线
-
大小写
-
注释
代码复审。包括自我复审,同伴复审,团队复审。通常为两个较为熟悉的成员互相复审。
两人合作时需要不断的磨合,需要多思考,尝试着从对方的角度看待问题。
三、关于两人合作的问题
签出时要将文件上锁,每个模块要求写单元测试,签入冲突处理——合并后并重新编译、测试再提交,签入时需要代码复审等。
两人合作时可能会由于个人习惯不同,导致代码风格不同,这时就需要两人协商。另外,由于基础较差,代码的想法可能差别很大,这时需要互相交流,选择一个较优的。另外加上注释还是比较重要的,方便查看。