关于项目“结对编程”的分析与心得

学习进度条:

在上周的软件工程课程中,老师给了我们一个编程项目的练习:

  某公司程序员二柱的小孩上了小学二年级,老师让家长每天出30道(100以内)四则运算题目给小学生做。二柱立马就想到写一个小程序来做这件事。 这个事情可以用很多语言或者工具来实现:

•Excel、C/C++、Java、C#、VB、Unix Shell、Vbscript、Javascript、Perl、 Python、…

结对编程成员:肖启祥 2013110441         席胜 2013110441
 
对方博客地址:http://www.cnblogs.com/ShengXi-1994/
 
编程贡献比例:1:1
 
结对编程照片:
 
刚拿到这道题的时候,我们大家都觉得题目很容易理解,很简单,心中立刻涌现出一大堆算法设计思路,什么循环,产生随机数,数组存储等等。于是和小组的成员立刻结对准备入手写代码,但在与此同时就出现了一些细节的讨论,比如说产生随机数,可能会有重复题目的情况,而且题目要求只需要出题,而不是像计算器一样算出答案。还有各种类的接口如何实现等等问题,经过讨论之后,队友提出将随机数设为静态变量,这样就不会出现重复的题目。还有一个问题就是除法运算中除数不能为0的判断。这些随之即来的问题也突然中断了我们天真的想法,所以开始重视并认真讨论起来。经过一系列的讨论,我和室友开始决定编程实现这道题目的要求。
 
结对编程代码:
 package com.shengxi.math;

import java.util.Random;

public class MyMath {

    private static int num1;
    private static int num2;
    private static String operation;
    private static String[] ptr = {"+","-","×","÷"};
    private static final int NUMBER = 100;   
    
    public static void main(String[] args){
    
        Random rand =new Random();  
        
        for(int i=1;i<=30;i++){
         //随机获取数字和符号
            num1=rand.nextInt(NUMBER);
            num2=rand.nextInt(NUMBER);
            operation=ptr[rand.nextInt(4)];
            
            //去除除数为0
            if(operation.equals("÷")){
             if(num2==0){
             num2= rand.nextInt(NUMBER);
             }
                
            }
            
          
            if(i<10){
                System.out.println(num1+operation+num2+"=");
            }else
                System.out.println(num1+operation+num2+"=");
        }
        
    }  
    

}
 
输出结果:
 
  结对编程项目的好处有:
     1、两人一组编程可以互相帮助,探讨问题,更高效的解决问题;
     2、可以通过学习队友编程方面好的地方,弥补自己的不足;
     3、在调试过程中两个人也更容易发现BUG并合理解决BUG;
     4、结对编程可以互相督促和修正自己认为对方不足的地方,同时也学习和他人共享编程经验;
     5、可以更有效地模拟以后团队开发项目的工作环境,使自己对团队开发过程更加理解和熟悉。

    结对编程心得:按两人一组结对尝试对项目开始进行编程。起初无从下手,和室友讨论了许久。并通过网络和相关书籍等途径查找了很多类似的资料。至此,我们关于项目的结对编程就更加理性化了,这样统一了命名规则和思想后,效率也有所提高。总而言之,这次的“结对编程”给了我很多启发,这个过程中遇到的问题以及解决的办法也让我受益匪浅,我明白了结对编程分工与合作有机协调的重要性。在和别人交流的过程之中,言简意赅的表达自己的思路或者想法,也提高了自己的语言交际能力。编程中自己有不规范的地方也经过室友的提示得到了规范,也深刻明白了取长补短的益处,看到别人对同样的问题有更好的解决办法后,自己也学到了这些知识。所以,对于一个结对编程开发项目,两人之间不仅有相互督促也有相互进步。组队编程明确需求是基础,提高效率是关键,互相帮助才是根本。

 That's all,thank you for reading my blogs.

 

原文地址:https://www.cnblogs.com/xiaoqixiang/p/5306631.html