首先我的队友的个人项目是用C++来写的,经过我对其代码的仔细研究,已经完全理解了其代码的逻辑。
其项目共分为以下几个逻辑块部分:
- 获取系统当前的时间:getCurrentTimeStr()
- 生成小学题目并写入文件:xiaoxue()
- 生成初中题目并写入文件:chuzhong()
- 生成高中题目并写入文件:gaozhong()
- 查重:find()
- 主函数
下面就来分析一下其个人项目的优缺点:
优点如下:
- 代码逻辑块分块清晰,各个方法之间牵连较小,易于维护
- 注释合理规范,做到该注释的地方就注释,而没有多余无意义的注释
- 注意对边界情况进行检查,当输入不合理的账号或者密码时,程序能进行判断并进行处理
- 代码编写基本符合规范,按照驼峰原则进行编写代码
但是,其项目也暴露出了一些问题。
其缺点如下:
- 所有的代码混在一个.c文件中,没有进行分文件编写代码,再进行调用
- 单个函数方法的行数过于多,将会导致该函数涉及到的功能过于多,当一个地方出错时,不易于查找出错地点,不易于修改
- 实现出题的算法没有普遍性,知识利用穷举法针对1~5个操作数进行穷举出所有的情况,当操作数规模变大时,该算法将无法应对,导致项目的可扩展性较差
- 项目没有实现查重处理,将会导致出了和以前相同的题目
但是,其项目也有蛮多值得我学习的地方,例如如何使用C++创建文件夹之类的,这是我以前没有尝试过的。
总而言之,通过读懂别人的代码,发现别人代码的优缺点,对自己的提升是很大的。对于有点,可以进行学习和参考;对于缺点,要引以为戒,避免自己以后也犯这种错误。同时,学会读懂别人的代码也是一种能力!