个人项目互评

一、简介
在分析完队友的代码后,产生的感想,特于此记录以供共同进步。
二、优缺点

*优点:

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;>

posted @ 2021-09-28 15:10  陈小鹿  阅读(25)  评论(0)    收藏  举报