结对编程的总结

   在课程学习过程中,老师叫我们进行两人合作,结对编程,写一个小程序,模拟体验一下结对编程。

  正好我在《构建之法》上看到关于结对编程的介绍。这本书上说,用结对编程开发方法的原因是,在程序代码完成后,需要进行代码复审,由复审者对开发者提出一系列问题,开发者负责解释回答。代码复审有很多好处,比如找出代码的错误,发现逻辑、算法错误、潜在的错误和回归性错误,互授开发经验等。既然代码复审有这么多的好处,那能不能把它每时每刻都用上它呢?结对编程做到了,结对编程让开发者每时每刻处在代码复审的状态,及时纠正错误,代码质量更高。

  结对编程是这一思想的体现——把卓有成效的开发方法用到极致,让我们无时不刻的使用它们。极限编程也出自这一思想。

  结对编程的时候,另一程序员坐于身旁,检查阅读你的代码,及时发现你的错误。虽然我们大都喜欢一个人写程序,不喜欢身旁坐着个人,但是毕竟写程序是个逻辑思考的过程,很容易犯错误,有另一个人,他/她就能从另一角度出发找出你忽视的错误,及时更正,避免日后更大的损失。另一个程序员好像一个副驾驶,他/她是起帮助你的作用的,不是来捣乱的,也不是领导,你们的地位是平等的,可以平等交流工作内容。结对过程中,还可以轮班干,因为开发过程中,旁边一人完全陪着你走完整个程序的,他/她当然清楚整个程序的框架和细节,也省去了费心解释的时间。

  总之,结对编程也是众多开发方法中的一种,它有它的适用范围,也有它的限制。我们只要根据情境,选择最适合的方法就行了。

分隔线

结对编程作业:

  某公司程序员二柱的小孩上了小学二年级,老师让家长每天出30道(100以内)四则运算题目给小学生做。

  结对对象:屈玉娟  博客地址:http://www.cnblogs.com/yjuar/

  双方贡献比例:1:1

  结对照片:

  

  代码:

 1 package com.software.qy;
 2 import java.util.Random;
 3 
 4 public class Operation {
 5     private int num1;
 6     private int num2;
 7     private String operation;
 8     private    String[] oper = {"+","-","×","÷"};
 9        
10     public static void main(String[] args){
11         Operation Operation=new Operation();
12         Random rand =new Random();
13         System.out.println("以下为100以内的30道运算题:");
14         
15         for(int i=1;i<=30;i++){
16             Operation.num1=rand.nextInt(100);
17             Operation.num2=rand.nextInt(100);
18             Operation.operation=Operation.oper[rand.nextInt(4)];
19             
20             /*当产生减法时,不能为负数*/
21             if(Operation.operation=="-"){
22                 if(Operation.num1<Operation.num2){
23                     int temp;
24                     temp=Operation.num1;
25                     Operation.num1=Operation.num2;
26                     Operation.num2=temp;                                      
27                 }
28                 
29             }
30             
31             /*产生除法时,除数不能为零*/
32             if(Operation.operation=="÷"){
33                 Operation.num2=Operation.divide(Operation.num2); 
34             }
35             
36             //输出30个运算题
37             if(i<10){
38                 System.out.println("0"+i+":"+" "+Operation.num1+Operation.operation+Operation.num2+"=");
39             }else
40                 System.out.println(i+":"+" "+Operation.num1+Operation.operation+Operation.num2+"=");
41         }
42         
43     }  
44     
45     public int divide(int divisor){
46         if(divisor==0){
47             divisor=divisor+1;
48         }
49         return divisor;
50     }
51 }

  运行结果:

//注意:(1)四则运算式要满足除法规则; (2)小学二年级学生未接触负数,运算结果要保证不能为负;

学习进度条

原文地址:https://www.cnblogs.com/xiayi/p/5315706.html