Arithmetic Problem Generator 代码分析

由于我是个人队伍,所以就对自己的个人项目代码进行分析。

优点分析

  1. 在软件结构上,我将用户以及生成器从 main 函数中分离了出来,以保证代码的可复用性
  2. 选择生成“小学”、“初中”和“高中”试题的功能只需调用一个函数,并传入不同的参数,在调用时更容易进行控制,且不需要改变函数名
  3. 在生成表达式时,我选择了生成后缀表达式转中缀表达式的方法
    1. 转换保证正确,能在需要的地方加上括号,不会有冗余的括号,也不会缺省括号
    2. 转换的部分具有 O(n) 的效率
    3. 具有拓展性,能够很轻松地添加计算功能而不用更改大部分代码
  4. 添加了适量的注释,通过阅读注释即能理解代码工作的流程

缺点分析

个人在编写代码时,将能考虑到的缺陷都进行了修补,但是依旧存在一些问题,主要是工期较紧,没有很好地完善:

  1. 生成器中转换的部分可以分离出来:以实现更好的复用(管道-过滤器模型)
  2. 生成后缀表达式部分可以使用链表:使用了大量的插入(并且是按顺序插入),同时不需要随机访问

最后,项目已上传至 github:https://github.com/WilfredShen/ArithmeticProblemGenerator,可前往参考。

posted @ 2020-09-30 11:59  三尺青锋丶  阅读(134)  评论(0)    收藏  举报