在老师要求下,每人要求写一个程序,实现账户的登录,出题类型的切换,并根据输入的出题数目,出相应的题目存入txt文件中。且同一个老师出的一个类型的题目不能重复。每个人完成项目后要对partner的代码进行学习。以下是我对partner代码的优缺点分析。
优点:
1.代码格式美观,分类明确,模块清晰。。
Account 代表用户类 question代表生成题目的类 autosystem是整个程序登录出题的逻辑函数,分类的思路明确,条理清晰。
代码中函数和变量命名都采用英文翻译,且每个函数功能都做了详细注解。美观,可读性强。
2.采用map作为用户库,在调用和登录比对时都更方便。
使用map可以直接比对,不用先比较账户名然后在对比密码,代码量会缩减。
3.远瞻性强。设置了增添账户的功能。为后续拓展有极大帮助。
4.通过写了一个boolean型函数,判断目标文件夹下文件中的题目是否与当前题目一样,不一样返回false,相同返回true.
当生成一道题后,如果true,则重新生成。
在这里值得一提的是,生成函数他采用的是返回string字符串的函数,如果检测存在重复就return newquestion调用递归。在这里当他递归到某个完全不重复的题目时,会将这个值传到最上层。
以得到相应题目输出到文件中。
5.比对函数,生成函数,主逻辑函数,括号添加函数,将功能细化分开,相互调用。便于维护和修改。
6.学以致用,巧妙采用递归函数生成括号。
7.
给循环命名,可以指定跳出哪层循环,作为一个小tip,可以省去一些麻烦。
8.熟练使用if,else ,switch,case等语句以及递归。
9.符号采用数组存储,然后通过int randInt=rand.nextInt(5);,randint作为数组角标,便捷了调用。
缺点:
1.题目存储采取的绝对路径,换个环境就无法正常使用。建议采取相对路径。
2.设计ui交互界面可使用性会增强。