我的感想之结对编程

时间过的真快,转眼间就到了三月下旬,软件工程课也开了许久。

本学期软件工程老师给我们请了助教也给了全新的学习模式,让我受益匪浅。自己在文字方面也缺少了一部分灵感,只能是想到什么就写点什么吧。

在课上,老师给了简单的四则运算的法则编程100以内的加减乘除法运算。需要编程随机出三十道题。

我一看觉得这个题可简单了,没有什么难度,不就100以内的加减乘除吗,定义一个类变量初始化为1,出一道题自增1直到30应该就可以了吧。

但是老师要求的是结对编程,所以我把自己的想法告诉了周围的同学。

才发现自己的想法和有的同学大同小异,和有的同学却存在着巨大的偏差。

自己在想法上过分局限,以至于没考虑到很多特殊情况, 比如除数为0,有余数和没有余数的,会不会出现重复的题等等。

总的来说,每个人的思考能力都是局限的,一个人很难考虑全面,不能对每一个Bug做到思虑周到。

所以,在编码前,一定要多多考虑清楚各种可能,要做到用户想得到的我们要想到,用户想不到的我们也要想到,多和他人交流自己的想法和计划,这样才能减少自己以后在项目中的维护时间。

使用结对编程,可以减少很多误差和思虑不周到的问题。另外两个人甚至更多人,会让自己注意力更集中,而不至于想的清楚明白却写错的情况发生。

钟爱结对编程,发誓用自己的键盘和本子,把这个世界写的明明白白!

点滴成就学习时间新编写代码行数博客量(篇)学到知识点
       
第一周 5h 0 0 了解认识软件工程
第二周 10h 0 1 了解软件工程思想
第三周 15h 0 1 制作调查问卷
第四周 20h 1084 1 结对编程与需求分析

对象:2013110425 罗春燕 地址:http://www.cnblogs.com/chunchuner/ 

下面附上代码:

package __________class2;

import java.util.Random;

public class AutoGetProject {

    // private String []operations = {"+","-","*","/"};
    private static Random random = new Random();
    private final static int COUNT = 30;

    private static boolean getProject() {
        int num1 = random.nextInt(101);
        int num2 = random.nextInt(101);
        int index = random.nextInt(4);
        String str = "";
        boolean flag = false;
        int answer = 0;
        switch (index) {
        case 0:
            answer = num1 + num2;
            if (answer > 100) {
                break;
            }
            str = num1 + "+" + num2 + "=";
            flag = true;
            break;
        case 1:
            if (num1 < num2) {
                break;
            }
            str = num1 + "-" + num2 + "=";
            flag = true;
            break;
        case 2:
            answer = num1 * num2;
            if (answer > 100) {
                break;
            }
            str = num1 + "*" + num2 + "=";
            flag = true;
            break;
        case 3:
            if (num2 == 0) {
                break;
            }
            str = num1 + "÷" + num2 + "=";
            flag = true;
            break;
        }
        if (flag) {
            System.out.println(str);
        }
        return flag;
    }

    public static void main(String[] args) {
        System.out.println("当前得到的30道四则运算题目如下:");
//        for(int i = 0;i<COUNT;i++){
//            System.out.println(getProject());
//        }
//        do{
//            System.out.println(getProject());
//        }while(count==30);
//        System.out.println(count);
        int count = 0;
        do{
            if(getProject()){
                count++;
            }
        }while(count < COUNT);
    }

}

附上运行图

原文地址:https://www.cnblogs.com/liushilin/p/5306408.html