zoukankan      html  css  js  c++  java
  • 我的感想之结对编程

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

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

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

    附上运行图

  • 相关阅读:
    ASP.NET MVC案例——————拦截器
    Windows Azure Virtual Network (10) 使用Azure Access Control List(ACL)设置客户端访问权限
    Windows Azure Storage (20) 使用Azure File实现共享文件夹
    Windows Azure HandBook (5) Azure混合云解决方案
    Windows Azure Service Bus (6) 中继(Relay On) 使用VS2013开发Service Bus Relay On
    Azure PowerShell (9) 使用PowerShell导出订阅下所有的Azure VM的Public IP和Private IP
    Windows Azure Service Bus (5) 主题(Topic) 使用VS2013开发Service Bus Topic
    Azure China (9) 在Azure China配置CDN服务
    Windows Azure Storage (19) 再谈Azure Block Blob和Page Blob
    Windows Azure HandBook (4) 分析Windows Azure如何处理Session
  • 原文地址:https://www.cnblogs.com/liushilin/p/5306408.html
Copyright © 2011-2022 走看看