【构建之法】第4章 两人合作

1 代码风格规范

  • 4个空格的缩进
  • 每个{}独占一行
  • 不要把多个变量定义在一行上
  • 一个类型的成员变量用m_name来命名
  • Pascal:所有的类型/类/函数名
  • lowerCamel:变量
  • 注释是为了解释程序做什么(What),为什么这么做(Why),以及要特别注意的地方,只用ASCII字符,不要用中文
  • 函数:只做一件事,并且要做好
  • 单一出口
  • 不要在构造函数中做复杂的操作,简单初始化所有的数据成员即可
  • 看代码是否在代码规范的框架内正确地解决了问题
  • 早期斤斤计较于一些细枝末节也是于大局无补的,但是,这些问题并不是不用处理了,我们可以建立一些优先级较低的工作项来跟踪处理
  • 目光放长远
    • 这么修改之后,有没有别的功能会受影响
    • 项目中还有别的地方需要类似的修改吗
    • 有没有留下足够的说明,让将来维护代码时不会出现问题
    • 对于这样的修改,有没有别的成员需要告知
    • 导致问题的根本原因是什么?我们以后如何能自动避免这样的情况再次出现

2 代码设计规范

3 代码复审

4 代码复审的核查表

有没有无用的代码可以清除?(很多人想保留尽可能多的代码,因为以后可能会用上,这样导致程序文件中有很多注释掉的代码,这些代码都可以删除,因为github上已经保存了原来的老代码)

5 结对编程

结对编程可以取得更高的投入产出比

(1) 如何结对编程

  • 驾驶员:写设计文档,进行编码和单元测试等XP开发流程
  • 领航员:审阅驾驶员的文档;监督驾驶员对编码等开发流程的执行;考虑单元测试的覆盖率;思考是否需要和如何重构来帮助驾驶员解决具体的技术问题。领航员也可以设计TDD中的测试用例
  • 驾驶员和领航员不断轮换角色,不要连续工作超过一小时,每工作一小时休息15分钟。领航员要控制时间。
  • 主动参与。任何一个任务都首先是两个人的责任,也是所有人的责任。
  • 只有水平上的差距,没有级别上的差异。两人结对,尽管可能大家的级别资历不同,但不管在分析、设计或便马上,双方都拥有平等的决策权力
  • 设置好结对编程的环境,座位、显示器、桌面等都要能允许两个人舒适地讨论和工作。如果是通过远程结对编程,那么网络、语音通讯和屏幕共享程序要设置好

(2) 影响他人的几种方式


方式


简介


逻辑/感情


推/拉


注解


断言


就是这样吧,听我的,没错!


感情


推—主动推动同伴做某事


感情很强烈,适用于有充分的信任的同伴。语音、语调、肢体语言都能帮助传递强烈的信息


桥梁


能不能再给我讲讲你的理由……


逻辑


拉—吸引对方,建立共识


给双方充分条件互相了解


说服


如果我们这样做,根据我的分析,我们会有这样的好处,a、b、c……


逻辑


推—让对方思考


有条理,建立在逻辑分析的基础上。及时不能全部说服,对方也可能接受部分意见


吸引


你想过舒适的生活吗?你想在家里发财吗?加入我们吧


感情


拉—描述理想状态,吸引对方加入


可以有效地传递信息,但是要注意信息的准确性。夸大的渲染会降低个人的可信度

(3) 如何正确地给予反馈

  • 最外层:行为和后果
  • 中间层:习惯和动机
  • 最内层:本质和基本属性

原文地址:https://www.cnblogs.com/kxbk100/p/8496393.html

时间: 2024-10-28 10:58:59

【构建之法】第4章 两人合作的相关文章

构建之法 第四章 两人合作

两人合作是团队合作的基础:这里介绍的这个基础型"团队"中通用的一些方法以及最重要的--交流--的细节 1.代码规范 代码风格规范.主要是文字上的规定: 缩进:4个空格,而不是tab: 关于断行与空白的{}行:[作者的建议深得我心--{ .}单独占一行:中间的代码缩进] 下划线:用来分割变量名字中的作用域标注和变量的语义 大小写:通用的做法是,所有的类/函数名都采用所有单词首字母大写(Pascal)的形式:所有的变量首字母小写,随后的单词首字母大写(Camel): 注释:解释程序做什么.

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

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

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

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

第4章两人合作

1.结对项目的案例和论文 因为教材上给的案例是全英文的,而我的英语水平是异常异常的烂,看见英语就头疼,就没有了看见下去的欲望,我在网上找到了邹欣老师的观点,以下是他的观点. 总结1:那是project到了比较关键的创造阶段,整整一天,我们俩椅子靠椅子的坐在电脑前,一边讨论一般coding,那次才真正的体会到结对真的能够带来效率.一整天的coding是容易走神的事,还好有pair在旁边指导,总是不断在我敲某某变量之前提前告诉我成员变量的名字,数据修改时帮忙检查是否有漏掉的,变量和函数定义的时候一起

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

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

阅读 《构建之法》 1-5章

首次浏览<构建之法>,正如此书给我们授予的概念——做中学 (Learning By Doing).在实践中出真知,书中多次强调 模拟实战,用客观数据来评分 在大学偏向理论化的教学模式中,我认为这样的教学理念带给我很大的冲击,虽然实践起来的现实和书中的理想情况相差很大,但也给我带来很多受益之处. 对于此书,我提出一下几个问题: 第一章 概论:                 老师您给我们讲述什么是软件工程,然后提出一大堆专业名词,再解释这堆名词的具体含义.然而正如老师您所说,我们所关注的是这些名

《构建之法》第一章术语及书中部分问题解答

• 第一章专业术语: * 软件=程序+软件工程 * 程序=数据结构+算法 * 软件服务 * 软件架构(Software Architecture) * 软件设计与实现(Sofeware Design,Implementation and Debug) * 软件构建 * 源代码管理(Source Code Control) * 配置管理(Software Configuration Management) * 软件测试(Test) * 需求分析(Requirement Analysis) * 软件

阅读《构建之法》 1-5章

第一章 概论 第一章讲述了软件的特性和软件工程解释了什么是软件工程! 问题:是什么导致了软件工程的出现.又是什么推动了它的发展? 第二章 个人技术和流程 第二章写的是程序的测试流程和个人开发流程 问题:怎样提高个人能力? 第三章 软件工程师的成长 问题:在软件工程师成长过程中,怎样平衡发展各个反面?注重全方位的发展会不会影响工程师的成长? 第四章 两人合作 问题:在本章4.1到4.5节为什么讲的是代码的规范及处理?而不是合作过程中应注意的事项? 在合作过程中,怎样促进两人的默契? 第五章 团队和

三读《构建之法》——源代码的设计、实现、控制与两人合作

现在,<构建之法>的一大半已经读完了,在这一大半本书中,这一部分可以说是对我触动最大的,也应该是整本书对我触动最大的. 整个第二章围绕测试展开,用一个很生动的类比告诉了我们测试的重要性:如果有人说,"一个人写写程序玩玩,单元测试似乎不那么重要.",那么你可以回应他:"你可以大胆对你的女朋友说:'我们只是玩一玩.'看看效果如何". namespace DemoUser{ public class User{ public User(String userE