子曰:三人行,必有我师焉;择其善者而从之,其不善者而改之。
队友的代码有很多值得我学习的地方,但同样也有考虑不周的地方,通过这次的结对编程,我们都从彼此的代码中学到了很多。
对方代码的思路
放个不是很规范的流程图来帮助理解吧
这个流程图是队友画的,我个人觉这是一个很好的习惯,通过这个流程图可以清楚的看到队友代码的思路。
优点
1、括号考虑周全。在我的代码里,只考虑了一个题目中生成一个括号的情况。而她的代码,由于括号的位置和括号是否生成都是随机的,因此可以生成多个括号。
2、程序在需要的时候自动生成文件夹。我是在放代码的文件夹里手动创建的文件夹,而不是由代码生成。这样子其实是有些取巧的,而且实用性不高,而队友的代码就很好,在没有文件夹创建文件夹,而文件夹存在的时候直接访问,无需创建文件夹了。
3、思路清晰,函数的使用让代码结构清楚,各个模块的实现互不影响,但是模块与模块之间又紧密联系。
4、代码格式规范,注释简洁明了,变量名也一目了然。
缺点
1、忽略了一些小细节,例如输入-1时直接退出而不是重新登录,没有检查题目数目的有效范围,即当输入数字不在[10,30]之间时,也会生成卷子。
2、她的程序是先检查密码输入,所以当账号输入错误时程序就卡住了,无论输入什么都没有反应了。就这一点,我觉得还是应该先检查账号再检查密码,这样比较符合登录的习惯。
3、生成卷子的代码过于长,她的代码是分别处理小学、初中、高中的卷子,没有考虑代码重用。