构建之法第四周

结对编程:结对编程是极限编程这一思想的具体体现。

结对编程有三种形式:

a.键盘鼠标式;

b.Ping-pong式(这种是采用TDD(测试驱动开发)时常用的方式.

c.领航员—驾驶员式.

常用的是Ping-pong式和领航员-驾驶员式。(下面都以领航员-驾驶员模式为例子。)

为什么要结对编程?(a.减少犯错。因为在结对编程的过程中有随时的复审和交流;b.提高解决问题的效率。在开发层次,结对编程能提供更好的设计质量和代码质量,合作解决问题的能力增强;c.知识传递。在结对工作的时候,开发人员可以互相交流,互相学习,提高;d.取得更高的投入产出比。好的结对编程效率高,错误少,有效的交流,大大提高了编程的质量,增加了公司效益;)

如何做到好的结对编程?(a.遵守相同的代码规范 ;b.不同的阶段(萌芽阶段,磨合阶段,规范阶段,创造阶段,解体阶段),不同的人(新手和老手,同性之间,异性之间,外向型和内向型... ...)要有不同的方式;c.养成个人良好的生活习惯;)

结对编程的缺点是什么呢?(结对编程并不是适合所有的项目,对于那些处于探索阶段的项目,技术含量不高的项目... ...。对于领航员-驾驶员模式来说,最重要的是发挥“领航员”的作用,如果作用不大,也就无需结对。)

时间: 2024-10-28 06:36:16

构建之法第四周的相关文章

构建之法 第四周

本章的理论和知识点主要分为:代码规范.极限编程.结对编程.两人合作的不同阶段.影响他人的技巧. 第一,代码规范,分为代码风格规范和代码设计规范. 风格上,无疑是秉承着"简明.易读.无二义性"的原则,适当运用大括号.空格.缩进,让代码页面显得一目了然简洁明了.此外,对于变量的命名的准确度也很重要.设计上,函数需要有明确--最好是单一的--出口,在错误处理中适当使用"断言"--这些无一不印证着代码的无二义性及数字逻辑的准确性. 代码的规范是预示团队合作能否顺利进行的第一

软件项目管理-构建之法-四周总结

写在前面 课程名:软件项目管理  授课人:东北师范大学 杨贵福( http://www.cnblogs.com/younggift/) 教材:<构建之法 - 现代软件工程> 作者:邹欣老师 (博客:http://www.cnblogs.com/xinz/) 周筠老师(邮电出版社的编辑,策划了构建之法,并参与提供领跑衫) 笔者作为东北师范大学计算机科学与信息技术学院研二学生,参与了软件项目管理这门课,在经过了四周的课程之后,获得了跑衫一件,深感荣幸.                       

构建之法——读书笔记(8)

<构建之法>第十&十一章 主要讲述了在软件设计前期的需求分析问题上的方法和实践经验,分为"典型用户和场景"以及"软件设计与实现". 其中第十章大部分内容包含: 用户的分类(典型用户可以包括以下内容: 1. 名字(越自然越好) 2. 年龄(不同年龄和收入的用户有不同的需求) 3. 收入 4. 代表的用户在市场上的比例和重要性(比例大不等同于重要性高,如付费的用户比例较少,但是影响大,所以更重要 5. 使用这个软件的典型场景 6. 使用本软件/服务的

《构建之法阅读笔记02》

这次主要对<构建之法>的第四章“两人合作”作一次阅读笔记. 首先是代码规范问题. 我过去对于代码规范问题并没有做到注意.在编程中,许多变量和函数的命名都非常的简单而没有实际的意义.而且编程时不注意对齐缩进.很多时候也不加注释,导致对这些简单的变量名称不熟悉. 这样做会使得很多人读代码费劲,甚至是自己都要花时间再次阅读懂自己的代码.而且很多没必要的注释也会使得注释失去意义.当自己再次在原基础上编程时,可能要重新编程等问题. 因此,通过阅读“代码规范”,我找到一些解决方法.代码的风格要简明.易读.

简读《构建之法》,所想问题展示

1,<构建之法>这本书全局语言通俗,学生很容易读懂,但是存在一个隐患:学过软件工程,我们只是笼统的理解,而对这方面的专业知识很少了解,该怎么办? 2,书中提到的软件结构,软件设计与实现具体是怎样的?怎么理解它们之间的关系? 3,软件在不断更新和增加功能的负担下,一定程度下会崩溃.若有一个软件,即将考虑添加下一个功能,但是在添加这个功能之后,系统一定会崩溃,但是这个功能对这个软件的市场前景起着至关重要的作用,这是该怎么办? 4,软件设计和软件构建有区别吗?不同之处是什么? 5,当软件中的依赖关系

构建之法阅读笔记05

2017.5.20 今天阅读的是<构建之法>第8章需求分析的阅读笔记,我们如果要开始做一个软件,最先要进行的就是需求分析,我们应该充分的了解我们这个软件是否具有前景,我们为用户提供的服务是不是用户所需要的,这一章详细的叙述了如何进行需求分析. 首先是获取和引导需求,我们应该找到软件的利益相关者,了解挖掘他们对软件的需求,引导他们表达出真实的需求.然后分析和定义需求,对各个方面的需求进行规整,定义需求内涵,从各个角度将需求量化,然后估计实现这些需求所需要的时间和资源,确定各个需求的优先级.紧接着

《构建之法》学习(5)——团队和流程

<构建之法>学习(5)--团队和流程 1.非团队和团队   团队共同的特点: 团队有一致的集体目标,团队要一起完成这目标 团队成员有各自的分工,互相依赖合作,共同完成任务 2.软件团队的模式       一窝蜂模式       主治医师模式 有首席程序员,他/她负责处理主要模块的设计和编码,其他成员从各种角度支持他/她的工作.       明星模式 主治医师模式运用到极点,可以蜕化为明星模式,在这里,明星的光芒盖过了团队其他人的总和.       社区模式 社区由很多志愿者参与,每个人参与自己

《构建之法》学习(3)——软件工程师的成长

<构建之法>学习(3)--软件工程师的成长 1.1个人能力的衡量与发展 积累软件开发相关的知识,提升技术技能 积累问题领域的知识和经验 对通用的软件设计思想和软件工程思想的理解 提升职业技能 实际成果      衡量软件开发的工作量和质量 项目/任务有多大? 花了多少时间? 质量如何? 是否按时交付? 1.2软件工程师的职业发展 职业发展--考级之路 职业成长--Steve McConnell版本 职业成长--大公司版本 职业成长--自我评估 1.3技能的反面 通过玩魔方的例子说明了技能提升的

《构建之法》——软工学习进度(2)

如何衡量一个软件工程师 如何衡量一个软件工程师?这是<构建之法>第三章的核心问题.第一章讲述了团队的流程,第三章则是对第一章的具体描述,从笼统的团队具体到个人.软件开发流程不光指团队的流程,还包括了个人开发流程,因为软件团队是由个人组成的,简而言之,个人在团队中也有独立的流程.那么问题来了,如果我们去面试,该如何定义我们自身呢?又或者说,看到一个同行的软件工程师,该如何形容他的技术? 第三章通过对足球的比喻,向我们形象的阐述了这个问题的关键.足球中有传接.盘带.射门等具体技术,映射到软件工程上