• 我的感想之结对编程


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

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

    在课上,老师给了简单的四则运算的法则编程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);
        }
    
    }

    附上运行图

  • 相关阅读:
    记录一次线上优化流程
    php ignite 使用问题记录
    invalid contrller specified 错误分析及解决
    koa 2 的 async 和 await 语法
    koa 2 的安装
    vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
    VS2019专业版和企业版激活密钥
    RE:ゼロから始める PKU 生活 episode 2
    CSP-S 2020 游记
    ioi2021集训队作业
  • 原文地址:https://www.cnblogs.com/liushilin/p/5306408.html
Copyright © 2020-2023  润新知