Arithmetic Problem Generator 代码分析
由于我是个人队伍,所以就对自己的个人项目代码进行分析。
优点分析
- 在软件结构上,我将用户以及生成器从
main函数中分离了出来,以保证代码的可复用性 - 选择生成“小学”、“初中”和“高中”试题的功能只需调用一个函数,并传入不同的参数,在调用时更容易进行控制,且不需要改变函数名
- 在生成表达式时,我选择了生成后缀表达式转中缀表达式的方法
- 转换保证正确,能在需要的地方加上括号,不会有冗余的括号,也不会缺省括号
- 转换的部分具有
O(n)的效率 - 具有拓展性,能够很轻松地添加计算功能而不用更改大部分代码
- 添加了适量的注释,通过阅读注释即能理解代码工作的流程
缺点分析
个人在编写代码时,将能考虑到的缺陷都进行了修补,但是依旧存在一些问题,主要是工期较紧,没有很好地完善:
- 生成器中转换的部分可以分离出来:以实现更好的复用(管道-过滤器模型)
- 生成后缀表达式部分可以使用链表:使用了大量的插入(并且是按顺序插入),同时不需要随机访问
最后,项目已上传至 github:https://github.com/WilfredShen/ArithmeticProblemGenerator,可前往参考。
个人博客:https://wilfredshen.cn/

浙公网安备 33010602011771号