个人项目:中小学试卷生成程序-队友代码分析
前言:
首次接触这样的项目,收获良多,由于我的搭档跟我是室友,我们使用的语言是相同的,而且在项目过程中我们多次讨论过项目的细节,在这些细节的处理上我们有着一些差异,在这里做以下简要的分析。
整体分析:
整体上,我们的代码思路大体上是一致的,都是围绕用户(老师)创建一个类,然后围绕这个类对其进行登陆、切换类型、输出题目等功能。
对方的优点:
1.代码结构的细节处理比起我来更为清晰明了
我的代码把一些函数写到了类里面,让其作为类函数出现,类外面还有好多函数,而对方巧妙的把类函数缩减了一些,把对类的处理函数全部放在了类的外面,这样代码的整体结构更加清晰,对比如下:
对方的类函数:

我的类函数(第二个类函数略):

2.对方对题目操作数的处理比我考虑的更加全面
对方在出题的过程中考虑到了一个操作数的情况,如小学题不能出现一个操作数,初中高中题如果是一个操作数必须有高级运算符,而我直接舍弃了一个操作数的情况,从这一点上看,对方在操作数问题上考虑的比我更加全面。对方的部分代码如下:

3.对方是直接把九个账户处理成了九个类的对象,而我是在类函数中直接把账户的用户名和密码进行字符串的对比,对方这样的好处是如果将来要设计创建用户功能会更加方便,而我如果想增加此功能只能对类函数进行修改,在这一点对方的代码考虑的更为周到。下面为对方的处理:

对方的缺点:
1.代码没有终止手段,当登陆完成后可以输入-1重新登陆,但是没有办法终止这个程序,程序相当于一直在运行。
2.对括号的处理考虑不周,对方代码中只可能添加一个括号,而且其左括号被固定在第一个位置,这样会让一些题目无法生成,下为对方对括号的处理:

总结:
通过这次编程,我们学到了很多知识,复习了面向对象的知识,还巩固了对时钟的处理以及对文件内容的输出和读入,在过程中我们也遇到了很多问题,通过我们的讨论以及自己的坚持也成功解决了,可以看出团队合作是十分重要的,我们也要把这种精神带到之后的结对编程和团队项目中去。
浙公网安备 33010602011771号