这次结对编程我的伙伴是王文宣,仔细看完嘉泽代码后简要说说个人我的看法:
一 优点:
(1)代码可读性很高。
代码方法,对象的命名看起来一目了然,能秒懂这个方法是干嘛的,这个对象是代表的什么;
缩进非常整齐;每个成对的‘{}’一定是列对其的;而且各占一行;每次调用一个新方法或使用if等语句生成有个新的“{}“”如果是在当前方法之下的一定或整齐的缩进四个空格,且每次缩进都是四个空格;
编码整齐,看起来很舒服;
代码简单明了,满足了大多数个人项目的要求。控制台的提示信息十分全面,可读性很好,并且对不规范的输入进行了处理,使程序运行时不会出现bug,考虑十分周全。
(2)写代码思路清晰,模块化程度高,根据次序需求,划分为:
时间日期模块:生成当前时间日期,好用于试卷的命名;
试卷生成模块:生成不同难度的试卷并输出到账户的文件夹中;
登录模块:输入正确用户名以登录;
切换年级模块;用于切换用户年级;
在main()函数中直接对以上模块调用以实现此次项目需求;
二 人无完人;代码也肯定会存在一些缺点:
(1)没有使用到面向对象的思路来编写;
这个程序是面向过程的,没有使用到类;倘若变更需求,代码则需要大幅度改动;这样可扩展性不是很好,而且在代码里使用了goto语句;容易出现bug;
(2)程序是断电不保存的,用户的数据不是保存在文件或者数据库中而是保存在源文件里面,这样程序一关闭之前对账户所进行的操作将不会保留,而是每次都初始化固定的账户数据;
(3)功能实现不是很完整,没有实现查重功能;
三 互相学习:
看了代码我也反思到自己编写代码的一些问题,
首先我自己的代码写的很乱,方法与对象的命名经常是以一个字母啥的及草草了事,缩进与大括号的使用也很不规范随心所欲;
而且以后的编程一般都是团体协作工作,自己写的代码并不是个自己一个人看的;可读性很重要;
其次:代码思路清晰,编码没有冗余很重要,我的代码一些内容总是重复,且顺序解够混乱,导致编码篇幅很大,算法也需要优化,以降低程序运行时间;