结对编程-对对方个人项目代码规范的分析


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

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/289195.html

(0)
上一篇 2022年9月13日 16:40
下一篇 2022年9月13日 16:55

相关推荐

发表回复

登录后才能评论