9.13
优点
1 细节:读写文件时及时关闭了文件,这是很容易忘记的
2 命名:命名很规范,一眼就看出该变量的含义
3 注释的非常详细,对于下一步的操作,大多都有解析,但是有些解析起始没有必要,比如“生成随机数种子”这种注释
4 函数都使用驼峰命名法,易懂:
5 头文件排布合理
按照相关头文件-> C系统文件->C++ 系统文件->其他库的 .h 文件->本项目内 .h 文件来排序
不足
1 paper.h和load.h都没有版权信息:
2 paper.cc的版权信息格式不完整:
正确格式:Copyright [year] <Copyright Owner>
3 paper.h、load.h、paper.cc文件都使用了命名空间指示(namespace directive):
这会污染命名空间
推荐写法是使用命名空间声明(using declaration):在std的所有命名之前使用std::
4 load.h中,静态static和全局global的字符串变量在.h文件中是不被允许的,只有在.cc文件中才允许:
5 微小问题:load.h中有一个注释忘记了空一格,且结尾忘记放置换行符
除了load.h,其他文件也有类似的错误,这里不一一列出
6 load.h使用的流:只在日志时使用流,建议用scanf
在paper.h中也犯了同样的错误:不能使用ofstream流,推荐使用open,write,read三个函数,把流换成文件描述符
7 loadtime()没有loadtime_r的线程安全
建议改为loadtime_r()
同理,rand也没有rand_r安全
8 强制类型转换是不被允许的:
推荐使用static<unsigned int>time