结对编程——队友代码分析
一、 简介:
本博客是我对队友张君逸同学个人项目的代码分析。
项目内容:中小学数学试卷自动生成程序
实现语言:java
二、 优点:
1. 首先是终端界面的美化。相较于普通的终端界面,队友使用了第三方库**rich**对终端进行了界面的美化,增加了诸如颜色,格式,粗体,进度条,markdown渲染等方法优化终端的显示。

2. 接着是使用了题库的方式进行随机出题并查重。运用了数据库的思想,以excel表格作为数据库,存储教师信息以及题目,并且通过set结构保证题库里面的题目不重复,以此做到随机出题和查重。

增添了注册功能。可以注册新的账号,并以此出题。
3. 注释详尽,益于读者理解。队友在各个代码块都有进行注释,这是一个良好的习惯。对于读者来说,注释能让人快速准确的理解作者所要表达的意思。对于作者,注释也能让自己的逻辑更加清晰。

三、 缺点:
- 题目生成情况不规范。题目缺少了一个操作数的情况,即没有类似3^2=,sin30=…这样的题目。
- 注册功能存在bug。注册的密码不能有英文字符或者特殊字符,仅可以使用数字。
- 不能连续出题。出完一次题目后就退出,不能连续出题。
4. 总结与收获:
通过阅读张君逸同学的代码,我收获了很多。每一个项目在实现了基本功能的基础之上可以基于用户的角度,美化界面或者是添加一些人性化功能,使得程序更加人性化。并且注释的详细也可以让代码的阅读更加方便。
浙公网安备 33010602011771号