构建之法 第四章 两人合作

两人合作是团队合作的基础;这里介绍的这个基础型“团队”中通用的一些方法以及最重要的——交流——的细节

1.代码规范

  1. 代码风格规范。主要是文字上的规定;

    • 缩进:4个空格,而不是tab;
    • 关于断行与空白的{}行:【作者的建议深得我心——{ 、}单独占一行;中间的代码缩进】
    • 下划线:用来分割变量名字中的作用域标注和变量的语义
    • 大小写:通用的做法是,所有的类/函数名都采用所有单词首字母大写(Pascal)的形式;所有的变量首字母小写,随后的单词首字母大写(Camel);
    • 注释:解释程序做什么、为什么这样做以及要特别注意的地方。注释只用ASCII码字符,不要用中文或者其他特殊字符,否则会影响可移植性
  2. 代码设计规范。牵涉到程序设计、模块之间的关系、设计模式等思维和价值观角度的东西。
    • 函数:只做一件事,做到最好。【这句话在我学java之初就听老师反复说过,印象十分深刻;这几乎可以上升到编程的“哲学智慧”层次了】
    • 函数:最好有单一的出口,必要的时候可以使用goto;
    • 错误处理:
      • 参数处理:在debug版本中,所有的参数都要验证其正确性;
      • 断言:Assert(一定正确的某条语句)

2.代码复审

代码复审的目的在于找出代码的错误。因为越是项目后期发现的错误,修复的代价就越大——这也是learning by doing思想的体现。

  • 优秀的代码复审者应该把眼光放长远,考虑除了当前代码或者改动之外的、可能产生持久影响的问题
  • 代码审核表应该囊括(不局限于)这些方面
    • 概要部分(整体风格)
    • 设计规范部分(按照已知的规则去约束)
    • 代码规范部分
    • 具体代码部分
    • 效能
    • 可读性
    • 可测试性【我认为其实最后两个是一种“精益求精”的标准】

3.结对编程

  1. 结对编程中有两个角色

    1. 驾驶员(driver):控制键盘输入;
    2. 领航员(navigator):领航提醒。
  2. 在结对编程的过程中不断重复的互相复审
    1. 传统复审最大的缺点是复审者缺少对程序的深入了解;【这正是互相复审的最大优点】
    2. 传统复审设计人员多,复审效率不能平衡。互相复审则可以十分默契地提高效率;
    3. 结对编程最大的特点在于“领航员”的引入。如果实际中这个角色不能“领航”,则不如放弃结对编程
  3. 极限编程
    • 把一些认为有效的方法发挥到极致(效用和占比最大化)
  4. 关于交流的基本素质【个人认为这一点完全可以说开去】
    1. 评论人的三种层次:

      1. 最外层:行为和后果【就事论事,对方仍然可以改正】
      2. 中间层:习惯和动机【比较难以澄清】
      3. 最里层:本质和固有属性【人格上的攻击或者赞美,基本上无法改变】
    2. 反馈的顺序
      1. 做好铺垫,拉近距离,使得对方处于相对安全的环境;
      2. 核心是对方的做法和后果,比较容易接受和改进;
      3. 最后提出鼓励和期望
时间: 2024-10-01 07:16:22

构建之法 第四章 两人合作的相关文章

构建之法学习(第四章 两人合作)

第四章 两人合作 1.代码规范  1)代码风格规范.主要是文字上的规定,看似表面文章,实际上非常重要. *原则:简明,易读,无二义性 *缩进:4个空格 *行宽:行宽必须限制,可以限定为100字符 *括号:在复杂的条件表达式中,用括号清除地表示逻辑优先级 *断行与空白的{}行:推荐格式如下 if ( condition ) {        DoSomething(); } else {       DoSomethingElse(); } *分行:不要把多条语句放在一行上.并且,不要把多个变量定

2018--20179215--《构建之法(第三版)》第四章 两人合作

构建之法 第四章 读书笔记 4.1代码规范 代码规范可以分为两部分: 代码风格规范-主要是文字上的规定 代码设计规范-牵涉到程序设计.模块之间的关系.设计模式等方方面面的通用原则 4.2代码风格规范 代码风格的原则是:简明,易读,无二义性. 缩进:4个空格的距离阅读性最好. 行宽:可限制为100个字符. 分行:不要把多条语句放在一行,每个"{"和"}"单独占一行,不要把多个变量放在同一行. 命名:不要提到类型或其他语法方面的描述:避免过多的描述:避免可要可不要的修饰

《构建之法》第四章“两人合作”读后感

团队合作在一个企业的作用是至关重要的:第一,通过团队合作,可以营造一种工作氛围,使每个队员都有一种归属感,有助于提高团队成员的积极性和效率:第二,通过团队合作,有利于激发团队成员的学习动力,有助于提高团队的整体能力:第三,团队合作可以实现“人多好办事”,团队合作可以完成个人无法独立完成的大项目:第四,团队合作有利于产生新颖的创意:第五,通过团队合作可以约束规范和控制成员的行为:第六,团队合作更有利于提高决策效率.所以说一个好的团队的总体力量,超过每一个个体力量的总和. 在软件开发的过程中,团队开

构建之法第四章学习心得

今天我学习了构建之法第四章,主要讲述了两人合作的理论和知识点.合作,无论在任何领域,都是不可缺失的,往往能产生不可替代的效果.同样在软件设计中也是如此,经过我的学习,我了解到软件设计中两人合作主要包括包括代码规范.极限编程.结对编两人合作的不同阶段以及影响他人的技巧. 其中最让我印象深刻的是代码规范.包括:代码风格规范和代码设计规范,代码风格规范主要是文字上的规定,看似表面文章,实际上非常重要:代码设计规范牵涉到程序设计.模块之间的关系.设计模式.等方方面面的通行原则: 同时,我了解了代码风格规

《构建之法》第四章 二人合作 读后感

两人合作 一直说编程是团队工作,终于到了结对阶段.合作的最小单位是两个人“,在合作团队里面,两个人做起事情来还是要比一个人轻松的,无论是编程上还是气氛上.同时,在结对编程的过程中,独立思考的同时要多进行沟通,有问题提出来,共同解决遇到的难题,互相信任互相鼓励互相学习.两个工程师相互看代码并给出自己的意见,所以代码的规范性是极其重要的,我们的代码不仅要让机器读懂也要人也能读懂,代码风格要规范,命名,缩进等更不用说,因为到了后面,代码中出现的类和对象就会变多,很容易造成混乱,要学会封装,将功能模块具

0405构建之法第四章--读后感

<构建之法>这本书的第4章讲的是关于两人合作的内容,对于书里所说的两人的关系就和驾驶员.领航员类似,通过结对合作,令我意识到了编写程序不仅仅要自己能明白,也要便与他人查看和理解自己的程序. 代码规范性,我们编写代码时要注重代码风格规范和代码设计规范,无论是类名,对象名,缩进还是行宽什么的,在结对子编程时都要有所规定,不然到后面出现的类或是对象多了,就很容易混乱,分不清楚谁是谁.要学会封装,编写函数,将功能模块具体化,减少主方法里面的代码,避免大规模的出错. 代码的复审,在平时编程程序时,我也会

构建之法&lt;第四章&gt;之感悟

第四章:两人合作内容出处:4.6 两人合作的不同阶段和技巧 本章主要是讲关于合作方面的,文章以刚刚认识的两个人为例!也就是说,他们之前的关系是陌生人,然而在现实当中两人合作也可以有其它的关系,比如说合作的两人彼此是情侣关 系,那应该怎样合作呢?如果男的与女的合作前,男的对女的千依百顺,再合作时,当女的意见是错误的并且女的非常强势,而男的意见是正确的,这种情况之下应该怎么办呢?又 如,如果合作的两位伙伴,在合作之前是师生关系,这样又怎么办呢 另外我也和别人合作过,不过我们到了磨合阶段后就永远停留在

构建之法 第四章 读后感

在第四章中说“合作的最小单位是两个人“,两个工程师相互看代码并给出自己的意见,所以代码的规范性是极其重要的,我们的代码不仅要让机器读懂也要人也能读懂,在第四章的学习中,我也尝试着和别人结对来编写一个程序,效果相当的不错,规范的代码让我们都能够方便读懂对方的程序,同时也能提高彼此的能力,取长补短,形成互补. 4.1大节提到的代码规范,我们编写代码时要注重代码风格规范和代码设计规范,无论是类名,对象名,缩进还是行宽什么的,在结对子编程时都要有所规定,不然到后面出现的类或是对象多了,就很容易混乱,分不

谈谈我对构建之法第四章与第十七章的理解

第四章:两人合作  问题一:     引用:"对于至关重要的代码,我们要请不止一个人来做代码复审"  理解:我对于这句话有些疑问甚至有些反驳.首先我觉得每一段代码都是应该被重视的,也许对于一个刚入行的程序员,他对代码的态度就决定了他以后得发展前景,只有真正把代码当回事的人才能一步一步写出好的代码,完成好的工作,所以我觉得是不是应该不管是什么样的代码,都应该用相同的态度去对待,都应该找多个人去进行代码复审呢? 问题二:     引用:"对于至关重要的代码,我们要请不止一个人来做