在上一周的个人项目中队友用的是C++,代码运行正常,且基本实现了需求文档的要求,然后关于她的代码,我觉得有很多可以借鉴的地方,也有一些需要改进的地方。

 

优点:

1、总体结构很清楚,思路清晰。从登录到功能切换,从试卷生成到题目生成,以及重复性检测,每一步都有对应的函数代码,思路清晰,逻辑清楚。

2、代码的编写基本符合规范要求,且注释基本到位,可读性强。例如在前面的主要函数声明中注释很清楚地标明清楚了函数的作用,函数基本命名符合规范,可以根据名字而知其意,变量命名也基本符合规范,这一点我得向她学习。

3、代码整体比较简洁。在代码中利用了很多库函数解决问题,而不是一板一眼地实现,这样极大地简化了代码,比如strftime()、insert(),find()等函数就简化了关于在字符串的一些处理,这一点我认为自己做得没有她好。

4、在用户的交互方面做得很好,一步一步都引导很详细,很好地满足了需求文档里要求的功能。

5、类的封装和题目查重部分做得很好。

 

缺点:

1、代码有需要优化的地方:在生成数学题的函数string Math(string curr_grade)中有多个return语句,出口不止一个。存在函数如string zhuan(int n)命名不清楚。

2、在数学题生成过程中发现sin、cos、tan这些操作符是无法放在第一个数的,这三个操作符可以随机放在第一个操作数后,这是一个限制,我觉得应该要把第一个操作数也算进去。

3、括号的处理感觉不够完善,该代码在添加括号部分选择只添加一个括号,且只在小学里添加括号,我觉得这样出的数学题不够符合要求。

4、文件使用绝对路径,而且需要在代码部分手动生成每个用户文件夹,这样比较麻烦,而且我觉得用户信息可以改为txt文件录入,这样以后可以更加方便地更新用户。

 

总而言之,我觉得队友的代码有许多值得我学习的地方,也让我意识到自己的代码有许多可以优化的地方,我会继续向她学习的。