结对编程——中小学数学卷子自动生成程序互评
此次个人项目的难度其实并不高,且我与我的同伴都是使用C++进行实现。主要注意点是要使用类来实现相应功能,使得代码更加规范,可读性与扩展性更好。
题目要求
1. 使用命令行作为交互环境,用户名和密码用空格隔开(这里没有说空格个数,所以需要仔细处理!)
2. 程序主要功能
a.如果输入”切换为XX”表示切换类型,在命令行输入切换为小学或者切换为初中或者切换为高中,然后输入题目数量(10-30)。
b. 如果输入-1表示退出登录 可以重新登录。
c. 如果输入10-30的整数,表示生成几个对应类型的题目。
如果输入数字不是这几种情况,就提示输入不合法,请重新输入;如果没有输入,则提示请输入所需值。
3. 将生成的试卷生成在对应的文件夹中,由于没有新的用户类生成,所以其实文件夹的个数是固定的(一共9个用户),这里可以先创建好,直接使用即可。
优点
1. 首先其是使用C++进行项目开发的。性能尚可。
2. 他定义了一个User类将大部分功能都集中在了其中。

3. 注释非常详细。对应功能也能满足个人项目的开发需求。结构清晰。程序结构明确,便于设计和修改。所有类都在main下。比较稳定。
4. 用户体验正常。输入时有相应提示。不会轻易导致用户输入错误。

5. 代码中函数的命名和参数的命名具有一定的描述性,更加便于阅读。
缺点
1. 没有以项目的形式,来编写代码,只有一个cpp文件。
虽说这个项目较小,但是应该要使用项目的形式进行开发,会增强程序的可读性,以及方便程序管理。
2. 可扩展性较差,建议User作为虚基类,来创建相应的类。
比如User类做父类,只有两个虚函数,登录函数,和功能选择函数,三个必要的私有变量,类型、用户名、密码。这样再到相应的类中去重载相应函数,无形中减少了一部分代码量,并且也会时怎个程序变好理解!
3. 输入没有进行错误检测。
万一用户发现输入错误,也进入了。不投诉你到死。
解决方案:用getline先以字符串的形式读入,再处理。而不是简单的使用cin。
4. 应该将只会被类自身函数调用的类函数,放到private中。这样可以防止别人直接通过类对象访问。
比如这里只用将LoginAccount函数放在public,用于登录即可。其他的函数都可以放在private中,供其调用
5. 文件夹没有提前创建好。
所以我直接运行其代码生成不了试卷……
我连其试卷都,没看……

其只有一个cpp文件,没有指定的文件夹,且文件名也不规范…..