关于结对编程感想
某天软件工程的课上,老师布置了一个关于随机生成100以内加减乘除运算的编程任务,让大家两两结对,尽快打印出100道题。
其实对于结对编程,我还是有点体验的,以前在做实训项目时,我们寝室为一组的时候,很多时候遇到逻辑比较复杂,容易马虎出错的模块任务时,往往就是两个人一起结对做的。那个时候是因为一个人写代码,写时间长了后,注意力容易不集中,解决问题的思路和效率不高,容易在烦闷中出一些比较“弱智”的问题。所以那时候两个人一起比较能够注意力集中,一个人在打代码的时候,另一个顺便检查是否有语法或逻辑错误,同时还可以思考一下接下来问题的解决办法。总的来说,我们还是挺喜欢结对一起编程的。
这次的生成100以内的加减乘除的算法,我和组长比别人花了多一点的时间。因为我们考虑了一些比较细致的问题:
1.加法时,因为我们考虑到的是,结果也应该是100以内的,因为题目上说可爱的二柱只有二年级,我们考虑到小学二年级可能不会算结果为三位数的,所以我们就考虑,在随机生成了第一个数之后,用100减去这个随机数,然后将所得的这个值作为第二个加数的最大值,即random.nextInt(100-firstNumber);这样就可以保证最后的和不超过100;
2.减法,据我年幼时的经验,小学二年级还不知道负数这个概念,所以呢,第二个数就是random.nextInt(firstNumber),使结果不出现负数;
3.乘法,同理啦,我们觉得积不能够超过100,所以random.nextInt(100/firstNumber);
4.除法,为了随机出现的被除数和除数能够使整除关系,并且除数不能为0,我们还是想了一会会儿的,除数不能为0很好实现secondNumber = random.nextInt(99)+1,至于被除数,random.nextInt(100/secondNumber) * secondNumber,就能保证了。
我觉得我们做的还是挺快的,在考虑这些要求之后(虽然题上没有明确的要求,但是我们考虑到可爱的二柱是只是小学二年级,就稍微做了一些要求)。总的来说,结对编程也是挺好的一个合作方法,一个在提供思路,一个在打代码,互相帮助,互相补充。但是我觉得,太简单的项目就不需要用结对编程了,一个人可以很简单就完成的工作,不需要浪费两个人的时间。
总之,结对编程还是很能促进我们学习的,让我们都能够集中注意力,避免一些简单低级的错误,提供更好的解决问题的思路!
点滴成就 | 学习时间 | 新编写代码行数 | 博客量(篇) | 学到知识点 |
---|---|---|---|---|
第一周 | 2h | 0 | 0 | 软件工程简单介绍 |
第二周 | 2h | 0 | 0 | 问卷调查及分析 |
第三周 | 2h | 0 | 1 | 系统用例图、系统边界 |
第四周 | 2h | 200 | 1 | 项目需求分析树 |
... |