《构建之法》读书笔记03
4.4代码复审
代码复审即看代码是否在“代码规范”的框架内正确地解决了问题。形式有:自我复审、同伴复审、团队复审。目的是:1、找出代码错误 2、发现逻辑错误 3、发现算法错误 4、发现潜在的错误和回归性错误 5、发现可能需要改进的地方 6、教育(互相教育)开发人员,传授经验,让更多的成员熟悉项目各部分的代码,同时熟悉和应用领域相关的实际知识。步骤:1、首先代码需要成功地编译 2、程序员必须测试过代码 3、程序员必须提供新的代码,以及文件差异分析工具。4、复审者可以选择面对面的复审、独立复审或其他方式。5、面对面复审中,开发者控制流程,讲述修改的前因后果。6、复审者必须注意提供反馈意见。7、开发者必须让所有的问题都得到满意的解释或解答,或者在TFS(TFS是Team Fundation Server的简称,是微软VSTS的一部分,它是Microsoft应用程序生命周期管理(ALM)工具的核心协作平台,简单的说它是管理和开发软件项目的整个生命周期的平台工具。)中创建新的工作项以确保这些问题会得到处理。8、对于复审的结果,双方必须达成一致的意见。复审后:需要将复审过程中的记录整理出来;
结对编程:写代码过程包括驾驶员(控制键盘输入)和导航员(起到领航、提醒的作用)。在结对编程中程序的质量取决于程序员中各方面水平的一方。好处:1、在开发层次,结对编程能提供更好的设计质量和代码质量,两人合作解决问题的能力更强。2、结对工作能带来更多的信心,高质量的产出的能带来更高的满足感。3、在企业管理层次上,结对能更有效地交流,相互学习和传递经验,分享知识,能更好地应对人员流动,如果运用得当,结对编程可以取得更高的投入产出比。复审过程有:设计复审、代码复审、测试计划复审和文档复审。结对编程的方法:1、驾驶员:写设计文档,进行编码和单元测试等XP开发流程。2、领航员:帮驾驶员解决技术问题,审阅其代码等。3、驾驶员和导航员要轮换工作,并且应该适当休息。4、主动参与 5、只有在水平上的差距,没有级别上的差距5、要有良好的编程环境。结对编程的阶段:1、萌芽阶段 2、磨合阶段 3、规范阶段 4、创造阶段 5、解体阶段 结对编程过程中影响其他人的方式:断言、桥梁、说服、吸引 提意见的方式:先强调双方的共同点,然后再提建设性意见,最后鼓励对方把工作做好。
第5章 团队和流程
软件团队具有一致的集体目标。并且要一起完成这个目标。
团队模式有:一窝蜂模式、主治医师模式、明星模式、社区模式、业余剧团模式、秘密团队、特工团队、交响乐团模式、爵士乐模式、功能团队模式、官僚模式;个人认为功能团队模式比较好因为这样小组成员都是同级别的进行沟通,而且比较有组织性。
开发流程有:写了再改模式、瀑布模型、瀑布模型的变形、统一流程、老板驱动的流程、渐进交付的流程、MVP和MBP;个人认为MVP比较好,因为不会发生瀑布模型那样各个阶段没有确切的时间分割点,并且用户只有在最后才能看见具体的结果;老板驱动可能会发生领导能力不够,影响整个团队的交流和运作;渐进交付如果用户反馈较晚,有可能使团队该阶段的努力浪费。