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