前言
本次软工学习流程分个人项目、结对编程以及团队项目,其中结对编程为个人项目的优化,此处对结对编程的队友的个人项目代码进行个人的分析并互相学习
从程序结果看需求实现(以用户李四1为例)
登录并生成题目
题目展示
需求的实现分析
用户端功能——用户登录、选择等级、生成题目、退出登录
文件结构目录——用户/题目等级/xx.txt
题目规范——小学、初中、高中均满足题目要求
补充:关于txt文件里保存的题目,两道题之间没有空行应该是漏看了需求,因为不是很难的问题,这里点一下
从代码结构到内容实现
技术选型:python
结构框架:代码没有冗杂在一个.py文件里,多文件编程,main.py主要编写程序的流程,使得流程清晰,generate.py则主要编写题目生成算法,算是个人项目里较核心的部分
代码内容:在mian程序为了控制用户的使用流程,嵌套了三个while(True)循环,使用时一定注意不要死循环,最后的控制效果大体上令人满意;在generate程序里通过个人对题目的理解,设计了一套加括号、加幂指数以及加三角符号的算法,实现效果还可以,因为根号的表示原因,存在根号表示范围不明确的通病;在user程序采用读文件方式,读取存储在文件中的已添加用户
个人角度评价优劣
优点
- 代码完成度较高,结构层次清晰
- 生成的题目美观度能够令人满意
- 用户的处理采用文件,方便添加用户(需求里没要求)
缺点
- 没有UI(需求没有要求)
- 技术选型单一
提升空间
- 生成题目部分,根号可以处理的更严谨
- 可以尝试写出UI界面,运用更多的技术丰富个人项目