第四章
看了第四章后,了解了第四章是两人合作的概论。
两人合作写软件首先要代码规范,进一步阐述就是要代码风格规范和代码设计规范。代码风格规范对于结对来说首先要统一开发工具,然后要注意源文件的格式、排版、换行、适当的注释、命名规范。即要简明,易读,无二义性。代码设计规范:对于函数来说。即用简单的构造函数,最好是默认构造函数,这是因为简单的构造函数增强易用性;对于错误处理来说。包括(逻辑和编程错误,设置错误,被破坏的数据...),然后要对程序增加一些相应的错误处理;对于异常处理来说。不是百分之百确定的情况,不要吞掉异常。如果理解该异常在具体环境当中产生的原因,建议捕获特定类型的异常。要在捕获并重新抛出异常时使用空的throw语句,这是保持调用栈的最好方法。
接下来就是代码复审,在软件开发项目中同行代码审查是一种常见的做法,而最基本的复审手段就是同伴复审。代码审查有助于识别潜在的Bug以及规范项目编码标准,对项目和团队的确有很大帮助。代码审查涉及四大领域,开发者自身、审查者、学习者以及传教者。可以说,贯穿整个技术和知识领域,所以同行审查能够提高团队的平均技能水平。此外,它还具备了无形的压力促使开发者更写更好的代码。其次,理解从代码中捕获的功能有助于在整个团队成员之间传播(共享)系统知识。还有,团队整体完成的项目质量要远远高出开发者独自完成工作的总和。而且,每位开发者都可带来不同的技能,实现协同编程,为团队“添砖加瓦”。总之,代码复审不仅是关注代码,而且还能见证整个团队的成长,它使整个团队间更有凝聚力。
接着是结对编程。简单来说是,2个程序员、同一套设备、一起工作、一起分析、设计、写测试用例、编码、单元测试、写文档,平等互补地工作。更形象的说是,一人充当“执行”角色,只负责编程。另外则负责“观察者”(或“导航”),检测bug和把控整体设计。与两位程序员各自独立工作相比,结对编程往往只需花费大约一半的时间就能编写出质量更高的代码。如果你是执行者,当以最快的速度完成了某个程序时,往往会忽略一些问题,在这个时候,搭档就是保障。如果你是观察者,仔细审查对方的代码,考虑可能的错误,以及如何简化和改进设计。此外,由于执行者的工作繁杂,所以切换角色有助于提升能力。所以至少每半小时转换角色,全力投入并适应不同级别的工作。还有,不管是谁掌握宏观方向,谁负责细节,最重要是配合默契高效完成工作。
最后是两人合作的不同阶段和技巧。以鄙人之见,结对双方相关性最强、区别性最大的因素是他们两人的效率差距。很多东西会影响程序员的效率,包括他们先前的:背景、个性、技能、经验、文化背景、领域知识、语言知识等。如果我们把这些综合起来,我们就能得出“效率”。考量“效率”可能还有另外一种方式,看他们产出的潜在强度,即完成编程的速度与质量。当结对双方开始进行有效地工作时,往往有很多的事情需要考虑,所以要经常讨论交流。对我来说,结对编程和技术相比,人的因素同样重要。因为和他人一起工作编写软件,很显然技术是必须的,但团队合作意识同样重要。
最后的最后希望结对编程愉快!