两人结队练习源代码操作

一、个人技术和流程

绝大部分软件都是有多人合作完成的。大家的工作相互有依赖关系。最典型的例子就是,某人负责的模块的功能被其他人调用。软件的很多错误都来源于程序员对模块功能的误解、疏忽或不了解模块的变化。如何能让自己负责的模块功能定义尽量明确,模块内部的改变不会影响其他模块,而且模块的质量能得到稳定的、量化的保证?单元测试就是一个很有效的解决方案。

创建单元测试函数的主要步骤是:

  1. 设置数据
  2. 使用被测试类型的功能
  3. 比较实际结果和预期的结果

好的单元测试的标准:

  1. 单元测试应该在最基本的功能/参数上验证程序的正确性
  2. 单元测试必须有最熟悉代码的人(程序的作者)来写
  3. 单元测试之后,机器状态保持不变
  4. 单元测试要快
  5. 单元测试应该产生可重复、一致的结果。
  6. 单元测试应该覆盖所有的代码路径
  7. 单元测试应该集成到自动测试的框架中
  8. 单元测试必须和产品代码一起保存和维护

二、两人合作

代码风格规范:

  1. 缩进
  2. 行宽
  3. 括号
  4. 断行与空白的{}行
  5. 分行
  6. 命名
  7. 下划线
  8. 大小写
  9. 注释

代码复审。包括自我复审,同伴复审,团队复审。通常为两个较为熟悉的成员互相复审。

两人合作时需要不断的磨合,需要多思考,尝试着从对方的角度看待问题。

三、关于两人合作的问题

签出时要将文件上锁,每个模块要求写单元测试,签入冲突处理——合并后并重新编译、测试再提交,签入时需要代码复审等。

两人合作时可能会由于个人习惯不同,导致代码风格不同,这时就需要两人协商。另外,由于基础较差,代码的想法可能差别很大,这时需要互相交流,选择一个较优的。另外加上注释还是比较重要的,方便查看。

时间: 2024-09-30 04:38:32

两人结队练习源代码操作的相关文章

两人结队项目

两人组队,小学生的四则运算 两人组队:王汉斌,尹良亮 需求概要: 编写出一个能自动生成小学四则运算题目的软件,并能够判断其正确性. 分析: 由于给小学生出四则运算,其主要是产生随机数,调用加减乘除的方法.其中,最主要的是考虑到除法的问题,因为除法需要使用double型或者float型. 部分代码如下: package fourarithmetic; import java.util.Random;import java.util.Scanner; public class FourArithme

两人合作源代码管理的基本操作

在编写程序过程中,程序代码不仅仅是给机器看,同时也会给与之合作的完成软件的同伴看,但是如果程序代码不符合代码规范,就很难让除自己之外的人看懂. 两人合作时的不同阶段和技巧: 1.萌芽阶段 两人刚开始合作,交流不少,试图避免冲突和容易引起挑战的观点,两人有不同的期望值,但是双方彼此并不了解. 2.磨合阶段 合开合作,但是会有不同程度的摩擦. 3.规范阶段 双方代码逐渐相似,一些不成文的规则逐步建立起来了. 基本操作: 在分析好需求,确定了最终设计文档后,需要设计具体的代码. 在设计代码前,需要确定

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

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

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

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

两人项目---打飞机的游戏

成员:081李国松 055张倩 1.结对题目:关于打飞机的设想 需求分析:游戏是一个娱乐的方式,随着电子设备的普及,游戏已经占领着人们的大量的时间.本小组决定开发一个打飞机的小游戏,由JAVA语言写成,利用键盘操作,操作简单,游戏机制简单. 2.代码截图及合影 具体代码地址:http://github.com/lgspath/- 3.约定的规范 操作界面继承frame,由于时间有限,子弹判定采用方形判定,飞机判定采用方形判定,子弹弹射机制采用镜面反射机制. 4.记录时间 选题讨论:10% 设计思

linux下实现两人、三人无序对话功能

对于两个程序之间的进行交互式 本程序主要通过父进程创建两个子进程,通过管道来实现,和两人无序对话的功能一样.只要逻辑清晰,并不难.共需要pipe(有名管道)六根,功能为用于读.写,为了使逻辑清晰,方便讨论,以下1.2.3分别代表程序1.2.3之间的管道,分别对程序之间的管道进项讨论分析: A B C 1-2 write 1-2 read 1-3 read 1-3 write 2-1 write 3-1 write 2-1 read 2-3 write 2-3 read 3-1 read 3-2

两人项目--贪吃蛇

1.游戏说明 贪吃蛇通过不断向前移动,每次吃掉一个egg身体就增长一节.当蛇头碰到身体或者碰到边界,则游戏结束. 2.上传代码(截图),两人合作的合影 具体代码上传至github:https://github.com/2008Tom/Snake 3.约定的规范 对程序中的方法名.变量名进行统一. 在eclipse中,保存时代码时进行格式化,再点击 windows首选项 java -editor - save actions,对代码进行保存,自动进行格式规范. 4.记录时间 9月11号      

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

1 代码风格规范 4个空格的缩进 每个{}独占一行 不要把多个变量定义在一行上 一个类型的成员变量用m_name来命名 Pascal:所有的类型/类/函数名 lowerCamel:变量 注释是为了解释程序做什么(What),为什么这么做(Why),以及要特别注意的地方,只用ASCII字符,不要用中文 函数:只做一件事,并且要做好 单一出口 不要在构造函数中做复杂的操作,简单初始化所有的数据成员即可 看代码是否在代码规范的框架内正确地解决了问题 早期斤斤计较于一些细枝末节也是于大局无补的,但是,这

两人合作

现代软件产业经过几十年的发展,一个软件有一个人单枪匹马完成,以及很少见了,软件都是在相互合作中完成的.合作的最小单位是两个人,两个工程师在一起,要相互看懂对方的代码并不是一件容易的事,因为每个人对"好"的代码的理解是不一样的,所以一个基准线--什么是好的代码规范和设计规范就很必要了."代码规范"可以分成两个部分:1.代码风格规范.2.代码设计规范. 代码风格规范的原则是:简明,易读,无二义性.例如对一个书写格式方面的规定:缩进最好为4个空格:对行宽的限制:括号:断行