个人项目互评
一、简介
在分析完队友的代码后,产生的感想,特于此记录以供共同进步。
二、优缺点
*优点:
1、编程基本按照谷歌规范实现,特别在每个函数功能的描述方面,使用注释少却能描述清楚,让其他人能一目了然。
点击查看代码
/*
输入:NULL
输出:0---查重通过;1----本道题与之前的题目重复,需要重新出题
功能:对当前生成的题目进行查重
*/
bool Check()
{
bool t = 0;
string temp;
if (g_outputcheck.eof())
cout<<"check文件为空"<<endl;
while(!g_outputcheck.eof())//取出文件中的一行内容存储在字符串temp中
{
getline(g_outputcheck,temp);
string temproblem;
temproblem = g_mathproblem.str();
if (temp == temproblem)
t = 1;
}
g_outputcheck.close();
return t;
}
2、通过代码可以看出她在设计项目的时候,框架逻辑清晰,每个功能模块保证独立的功能,模块间的调用比较顺畅。
3、不存在过多的全局变量,在保证了各个模块间耦合强度的同时也能防止自身程序启动过慢。
点击查看代码
//9个用户的结构体,包含姓名、密码、类型、路径
User g_teacher [ 9 ];
//括号中的操作数数量
int g_in = 0;
//确定左括号的位置
int g_left_back = 0;
//是否已经产生过开根或平方符号,0---没有产生过;1---产生过
bool g_chuzhong_flag = 0;
//是否已经产生过sin\cos\tan,0---没有产生过;1---产生过
bool g_gaozhong_flag = 0;
//文件写操作
ofstream g_output;
//查重文件读写操作
fstream g_outputcheck;
//文件流,暂时储存每道题目,后存储到txt文件中,生成下一道题目的时候清空
stringstream g_mathproblem;
4、在满足了用户需求的同时实现了自己的想法,考虑到了一张试卷的其它属性以及用户本身的使用方便,在运行程序的过程更贴近日常生活。

*缺点:
1、可通过封装来实现项目,定义系统类和用户类,然后产生相应的对象,更符合面向对象的编程。
2、主函数的代码稍微有点冗长,不容易进行代码的阅读,可读性稍弱。
</endl;>
浙公网安备 33010602011771号