个人项目-队友代码优缺点分析
我的搭档采用的是java编写,而我自己的个人项目则是使用c++编写的。首先我认为我们两人之间的代码还是思想差不多的地方的,比如创建账户文件夹的函数,两者处理方式差不多,用string型存储文件夹路径,然后是用函数判断该文件夹是否存在(不过他java使用的是exists(),而我使用的是access()),不存在则用mkdir创建。其他一些系统需求逻辑几乎差别不大,主要就是增加用户体验和命令提示的问题了。当然最主要是还有随机生成题目的逻辑方法不同。
优点:
①题目只要求在登陆状态下能够切换类型,但是此代码实现了每次生成试卷后都能切换类型,增加了用户体验。
②随机生成试卷的逻辑清晰严密且符合题目要求且支持生成多个括号。比如初中时先强制有开方或者平方,概率各占一半,在满足了至少有一个后,就变化概率为均为0.1概率再次有开方或者平方,其余0.8概率则是数字。
③变量命名简单易懂,基本能从英文意思中读出其含义,例如acountType(账户类型),probability(概率),fullQuestion等等,且代码注释恰到好处,关键部分解释清晰,其余部分不多余废话。
④在切换类型是,要求是输入yes/no,但增加了输入不符合要求命令时的错误提示,增加了用户体验。
缺点:
①括号问题,多括号是会出现两种典型情况((1+2)+3)和cos(30),这两者均有无意义括号,虽然不影响结果,但后者会增加代码计算模块编写难度。
②无查重功能。
③在输入用户名和密码这一阶段,如果我只输入一段字符串而不是两段就去直接登陆,不会提示重新输入或者无变化,而是程序直接停止了。
总结:该代码用户操作体验很好,提示清晰且容错率高,基本每个选择都会有输入错误以及重新输入的提示操作,不会出现命令输错而导致程序终止或者死循环的情况,不过在生成题目时的括号问题有略微瑕疵以及查重功能的缺失。
浙公网安备 33010602011771号