首页 > 其他 > 详细

和队友互看个人项目(随机生成算式)后感想

时间:2018-09-27 21:15:33      阅读:180      评论:0      收藏:0      [点我收藏+]

拿到队友的项目,打开以后,第一感觉就是注释太少,而且格式和自己的差很多,看的特别吃力;看到队友的类里面的函数和参数后,感觉和自己的实现方式有些类似,凭着这点相似性,我还是坚持看完了大部分代码。顺便在这里大致描述一下我的方法,如有雷同,纯属巧合。

我实现了一个算式的类,每一个对象对应一个算式,完成初始化的对象都是一个只有一个数字没有任何操作符的算式。这个类的对象之间可以通过+-*/符合组合成一个新的对象,这个类还有一个方法可以随机的给它添加运算符和括号。构建一个算式的步骤是:

(1)随机出这个算式的操作数的个数,假设是a个

(2)然后生成a个对象,将他们都放到一个容器里面

(3)每一次随机拿出一些对象,把他们用+-*/连接在一起,然后将这个新生成的对象根据难度进行随机的包装,最后将它放回容器里。

(4)重复(3)直到把容器里最后剩下一个对象。这就完成了一个算式的制造。

对比题目查重方面,我采用的是暴力搜索,每次生成一个算式就会查看一遍历史记录。而队友采用的方法是将题目用哈希表储存,在查重的时候,映射到相应位置,直接在冲突链里查找是否有重复的题目,这种方法比我的方法要效率很多,但是感觉空间开销还是蛮大的,关键是,懒得写着挺麻烦的,直接暴力搜索我觉得挺好的。

结对项目中题目是要求计算结果的,我服了队友在个人项目中就实现了这点(又给自己加需求),那天看完结对编程的需求,我也去改了我的代码,通过添加一个数据成员记录当前算式的结果,解决了这个问题,所以说我的代码还是有这么一点点扩展性的!

最后来说说注解和代码风格。我的在处理大括号的时候采用的是将大括号另起一行,而队友采用的是紧贴着代码压缩代码的长度,这两种都是很流行的习惯(似乎就这两种,想不出其他的了),我觉得将大括号另起一行会让结构更加清晰,我在处理某些可以不加大括号的地方也实用了大括号,就例如这种情况:if语句后面仅有一条语句,队友直接不加括号,并且将if语句和这条语句写到同一行上,而我另起一行加了一组大括号,同样是感觉这样结构比较清晰,方便以后自己看的时候理解。在函数头的书写上,我和队友也是不同,我采用的是将函数头写到一行里即使他的参数比较多,而队友对于多个参数直接每个参数一行的写,虽然我感觉队友的做法看的更清楚,但是我还是坚持我的观点,我觉得每个参数一行看起来不是很好看,遇到面对参数很多的情况,完全把这个函数拆成几个,这样更好。注解方面,队友除了类里写了注解,其他地方的注解一处也没有,这样有些细节操作,感觉比较难get到他的思路,我写的注解可能有点过多,我写注解的时候几乎是每条语句都有注解,写完我还看一边是不是看得通,我觉得这样日后回看代码会比较好,别人也容易看懂,有时候我看自己以前写的代码,完全是看注解一行一行下来,然后几乎不看怎么写的语句,我觉得ok。

以上就是我看完队友个人项目后的感想。

 

和队友互看个人项目(随机生成算式)后感想

原文:https://www.cnblogs.com/hglbyg/p/9715486.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!