艹早草

导航

 

结对编程代码分析

代码概述

  整个项目采用C++开发,一共两个模块:

  • mian.c(交互界面、主函数、试卷生成等)
    • Initialization():初始化函数:创建worker.txt文件用来保存用户信息,读文件的方式用三个变量将文件内容读取出来,然后构造newuser这个对象,然后储存在用户数组中,以此确定用户数量 。
    • SaveUserInformation():储存用户信息函数:用写文件的方式打开文件,将三个变量将用户数组中对象的三个属性依次存储在文件中,实现用户信息的保存 。
    • JudgePeopleSame(string id):用户查重函数:输入的与用户数组里的数据一一对比来判断。返回值:不一致返回真(1),否则返回假(0)。
    • AddUser():增加用户函数:用三个变量的输入确定对象的三个属性,然后用创建对象newuser然后存储用户数组的下一位。
    • JudgeUser(string t_id, string t_key):判断用户登录信息是否正确的函数。
    • CheckDuplicate(char compare[]):题目查重函数。
    • TestPaper1(int num, string name)、TestPaper2(int num, string name)、TestPaper3(int num, string name):试卷生成的三个函数。
    • Login():登录函数:构造了一个特殊界面给用户进行登录操作,登录成功即可选择生成试卷或者切换类型,以此生成特殊的试卷。
    • StartInterface():开始界面函数:通过一个构造的界面以及switch来满足登录和注册用户的操作 。
  • teacher类:
    • tch_class_:学生类别:小学,初中,高中 

    • tch_id_id:账户:一般为用户姓名 

    • tch_key_:密码:可以设置数字+字母的多样密码 

    • Teacher():无参构造函数

    • Teacher(string tch_class, string tch_id, string tch_key):有参构造

代码优点

  1. 代码格式规范。

    • 文件名、类名、变量名取名都使用驼峰法,简洁明了,可读性强。

    • 缩进、空格、自动换行都采用统一标准,大气美观。

    • 每个类或方法都有注释解释说明了大致功能与参数、返回值。

  2. 各功能分类明确,准确无误地满足了项目需求,测试无bug存在。

  3. 生成题目的算法采用了分解组合的方法,多操作数题目由少操作数题目组合而成,如五操作数题目由四操作数题目加一操作数而成,以此类推。该算法考虑到了各种题目情况,比较全面。

代码缺点

  1. 在用户界面一些输入要求没有提示,有些输入错误后跳转界面不友好。

  2. 一些难懂的代码旁没有注释使得理解有些困难。

  3. 生成题目的方法中代码的重复率过高,比较庞杂。

posted on 2021-09-28 21:05  艹早草  阅读(32)  评论(0)    收藏  举报