时间过的真快,转眼间就到了三月下旬,软件工程课也开了许久。
本学期软件工程老师给我们请了助教也给了全新的学习模式,让我受益匪浅。自己在文字方面也缺少了一部分灵感,只能是想到什么就写点什么吧。
在课上,老师给了简单的四则运算的法则编程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); } }
附上运行图