HNu结对编程队友代码评析

发布时间 2023-09-20 22:45:10作者: Muradill

前言

我的结对编程队友是王飞杨,经过对他的代码的研读和学习,现在对他的个人项目进行分析、总结和评价。

项目简介

 

项目名称:中小学数学卷子自动生成程序

 

编程语言:C++

 

项目完成者:王飞杨

 

评价人:木拉迪力·艾海提

题目需求

 

本题目要求实现的是一个中小学数学卷子自动生成程序

 

具体需求可以概括:具有登录和切换出题年级的功能,限制为10-30道题,可以重新登陆,对于输出的题目不能有重复,且以“年-月-日-时-分-秒.txt”的形式保存,每个账号一个文件夹。小学、初中、高中分别有相应运算符号。

整体分析

 

程序结构:

 

队友的代码用了一个cpp文件便包含了所有代码,这稍微有点不规范,如果能够将各个功能函数各自放在头文件,就能让代码读起来更加通俗易懂。看上去也更加美观,方便读者理解。

函数功能:

1.SignIn()为登录函数,主要用来显示登录界面和输入账号密码。

 2. CreateFile()函数用来生成试卷

 

优点:

代码结构清晰,将用户登录、生成试卷、创建文件等功能封装在User类中,提高了代码的可读性和可维护性。

优化建议:

1)程序嵌套太多层,方法层层调用,过于繁琐。可以再主类中体现一下整体运行流程。

2)对于括号的放置并未能实现完全随机。

3)要手动创建文件夹,可以改进为自动检测生成文件夹。

4)不能自己添加用户,这个也可以完善一下。

5)缺乏注释,没有对关键代码进行注释说明,降低了代码的可读性和可维护性。

6)缺少异常处理机制,例如在输入不合法的选项时没有进行异常处理,可能导致程序崩溃或产生错误结果。

 

7)缺少代码的模块化和重用性,例如生成试卷的逻辑和生成题目的逻辑没有进行分离,导致代码耦合度较高。

总结

总的来说,该项目基本完成了各项功能,方法简洁,层层递进。很多函数的实现方法值得我去学习。后续可以优化测试用例,重构部分类的设计,以提升代码质量和扩展性。该项目提供了一个很好的学习参考案例。