《代码大全》阅读笔记-21-协同构建

-》结对编程
-》 正式检查

结对编程

成功运用结对编程的关键:

  • 用编码规范来支持结对编程
  • 不要让结对编程编程旁观
  • 不要强迫在简单的问题上使用结对编程
  • 有规律的对结对人员和分配的工作任务进行轮换
  • 鼓励双方跟上对方的步伐
  • 确认两个人都能够看到显示器
  • 不要强迫程序员与自己关系紧张的人组队
  • 避免新手组合,两人之间至少有一个有结对编程的经历
  • 指定一个组长

结对编程的好处:

  • 能够使人在压力之下保持更好的状态
  • 能够改善代码质量
  • 缩短进度时间表
  • 指导初级程序员,培养集体归属感

核对表(有效的结对编程)

  • 是否已经有一个编码规范,以便让程序员始终把经历集中在编程,而不是编码风格的讨论上
  • 结对双方是否都积极参与
  • 是否避免了滥用结对编程,而是选择那些能够从中获得好处的工作进行结对编程
  • 是否有规律的对人员和工作任务进行轮换
  • 结对编程是否在开发速度和个性方面互相匹配
  • 是否有一个组长专注于项目管理以及与项目外其他人沟通

正式检查

核查表(有效的详查)

  • 你是否有一个核对表,能让评论员将注意力集中于曾经发生过的问题的领域
  • 你是否专注于找出错误,而不是修正他们?
  • 你是否考虑制定某些视角或者场景,以帮助评论员在准备工作的时候集中注意力
  • 你是否给与评论员足够的时间在详查会议之前进行准备,是否每一个人都做了准备
  • 是否每一个参与者都扮演一个明确的角色——主持人、评论员以及记录员等
  • 会议是否以某种高校的速度进行?
  • 会议是否限制在两个小时以内
  • 是否所有的详查会议的参与者都接受了如何进行详查的针对性培训,是否主持人接受了有关主持技巧方面的针对性培训?
  • 是否将每次详查所发现的错误数据都收集起来,使你能调查本组织以后使用的核对表
  • 是否收集了准备速度和详查速度方面的数据,以便你去优化以后的准备和详查工作
  • 是否每次详查中都被指派下去的活动都被正确的跟进了,无论是通过主持人自己还是一次重新详查
  • 管理层是否理解他们不应该参与详查会议
  • 是否有一个用于保证修正正确性的跟进计划

总结

要点

  • 协同开发实践往往能比测试发现更多的缺陷,并且更有效率
  • 协同开发实践所发现错误的类型通常跟测试所发现的不同,这意味着你需要同时使用详查和测试来保证你软件的质量
  • 正式检查通过运用核对表、准备工作、明确定义角色以及对方法的持续改善,将缺陷侦测的相率提升至最高。他往往能比走查发现更多的缺陷
  • 通常,结对编程拥有和详查相同的成本,并能产生质量相当的代码。当需要缩短开发周期的时候,结对编程就非常有价值。相对于单独工作而说,有些开发人员更喜欢结对工作
  • 正式检查可以应用在除代码之外的很多工作成果上,例如需求、设计以及测试用例等等。
  • 走查和代码阅读是详查的替代方案。代码阅读更富有弹性,能有效地利用每个人的时间
posted @ 2018-04-05 18:34  Tacey Wong  阅读(354)  评论(0编辑  收藏  举报