结对编程之个人项目组内互评
一、简介
本博客为湖南大学结对编程个人项目组内互评对厉平安同学的项目评价,这次项目主要是编写一个中小学生卷子自动生成的系统,有用户ID密码登录,依据小学、初中、高中三所学校不同的试卷难度去随机自动生成卷子,以及通过查重的方式来避免生成的卷子中的题目重复等主要功能。
二、代码结构分析
厉平安同学的代码分成了三部分,三个模块
分别为:
1. 通过文件保存表格的形式来读取用户信息,此功能实现对应的功能函数为user_init()

2. 用户登录,此功能实现对应的功能函数为user_login(), type_switch() (此处没有截取完整代码)


3. 生成题目以及题目的查重,此功能实现对应的功能函数为new_file(), new_test(),以及new_test_file() (此处没有截取完整代码)


三、代码解读
第一个模块:厉平安同学利用excel表格,把用户数据写在里面,再从里面读取并保存到user_list字典中
第二个模块:他首先利用了一个循环结构,让用户能够循环的输入,直到输入正确的用户名和密码。其次是一个切换类型的功能,利用while循环和if语句,选择跳转到不同的类型或者继续此类型以及退出,重新登录。
第三个模块:生成题目以及题目查重,首先是用户输入需要生成的题目数量,对这个数量的数据类型及范围的检查,以及是否需要下一次继续生成的判别。然后就是随机化操作数以及操作符,再随机加入括号。初中和高中的题目都是在小学题目的基础上加的,对于初中的题目随机生成了根号和平方,厉平安同学在这里也分别判断了哪些地方可以加平方和根号。而高中的题目则随机生成了三角函数,高中的题目可以不生成根号和平方也可以生成。随机生成三角函数的个数,他这里生成了1-2个,他列举出了不能加入三角函数的位置,利用if语句,如果在这些位置放置三角函数,那就continue。最后就是把由new_test生成的题目列表保存,创建以姓名用户名命名的文件夹并在里面生成以时间命名的文件来保存题目,再创建查重文件,进行查重。
四、优缺点分析
优点:
1. 代码规范性很好,结构清晰,函数命名符合规范
2. 注释写的也十分清楚,可读性很高
3. readme部分是用Typora写的,比较清楚的说明了其功能、安装、使用等部分的信息,符合规范,清楚易懂
缺点:
随机数的部分在括号随机的时候厉平安同学的代码只能实现括住两个随机数的不同情况
浙公网安备 33010602011771号