第四章 两人合作

 

代码规范:

代码风格规范。主要是文字上的规定,看似表面文章,实际上非常重要。

原则:简明,易读,无二义性。

缩进:4个空格。 

行宽:必须限制,可以限定为100个字符。

括号:清楚的表示优先级。

断行和空白的{}行:{和}都独占一行。

if(condition)

{

  DoSomething();

}

else

{

  DoSomethingElse();

}

分行:不要把多条语句放在一行上。不要把多个变量定义再一行上。

命名:1.变量名不要提到类型或其他语法方面的描述。 2.避免过多的描述。 3.如果信息可以从上下文得到,就不必写在变量名中。 4.避免可要可不要的修饰词。

下划线:用来分隔变量名中的作用域标注和变量的语义。

大小写:Pascal——所有单词的第一个字母大写。 Camel——第一个单词全部小写,随后单词随Pascal形式。

    通用:所有类型/类/函数名都用Pascal形式,所有变量都用Camel形式。函数则用动词或动宾组合词来表示。

注释:what?why?和要注意的地方。

代码设计规范。牵涉到程序设计,模块之间的关系,设计模式等方方面面的通用原则。

函数:只做一件事,并且要做好。

goto:函数最好有单一的出口。

错误处理:1.参数处理(验证正确性)。2.断言Assert(p != NULL);

处理C++中的类:1.使用类来封装面向对象的概念和多态。2.避免传递类型实体的值,应该用指针传递。3.对于有显式的构造和析构函数的类,不要建立全局的实体。4.仅在必要时使用“类”。5.只是数据封装,用struct即可。 6.检查new的返回值,new不一定都成功。 7.释放指针不用检查NULL。

代码复审:看代码是否在代码规范的框架内正确的解决了问题。

目的:1.找出代码的错误(编码错误,不符合规范的地方)。 2.发现逻辑错误。3.发现算法错误。4.发现潜在的错误和回归性错误。5.发现可能需要改进的地方。6.互相传授经验,熟悉代码和应用领域相关的知识。

 

如果我们要“完全掌握‘,可能需要比较长的时间,另外,如果不开发实际的软件,”完全掌握“没有意义,所以要”做中学“。

有些修改聪明有效率,实际可能会加大以后开发和维护的难度。

 

 在以前的编程中,我的代码的格式和缩进一直不符合规范,而且参数命名也难以理解,但是这些习惯都可以后期改正,不影响专业的学习。

一开始没有时间和精力,也没有必要去掌握好基础的规范,因为规范也是在变化着的。

 

 

结对编程的好处:1.在开发层次,提供更好的设计质量和代码质量,相互激励。2.对自身带来更多信心,更高的满足度。3.在企业管理层次上,有效交流,相互学习和传递经验,分享知识,更好的应对人员流动。

两人合作的不同阶段:1.萌芽阶段。2.磨合阶段。3.规范阶段。4.创造阶段。5.解体阶段。

反馈层次:1.最外层:行为和后果。2.中间层:习惯和动机。3.最内层:本质和固有属性。      

强调双方的共同点,从团队共同的愿景讲起,让对方觉得处于一个安全的环境,再提出建设性的意见,鼓励对方。        

在第一次的结对编程中,我们出现了分工不明确,交流不通畅的问题,是因为我们没有相互激励和学习。

在下一次的结对中,我会改正这些问题,和队员取得好的沟通,双方一起努力。                           

posted on 2019-04-05 14:41  雨过山  阅读(88)  评论(0编辑  收藏  举报