记一次代码评审

昨天是我第一次在新公司评自己的代码;被提了如下问题;

1. if和assert的使用;

这个问题想必很有争议,一直以来我所遵循的标准是:
对于参数,外部接口使用if判断,内部函数使用assert判断;
对于其他,异常使用if判断,bug采用assert判断;

首先对于外部调用,我必须要保证参数的合法性,不管是debug或者是release版本,都要做保证,所以使用if;
而对于内部函数,模块内部是自己保证的,这些参数如果出现问题,一定是编码bug;

2. 外部模块踩内存踩到我的模块;

关于外部的越界踩到我的模块内部,那是bug,并不是我模块的问题,我不倾向于处理,出了问题,请查bug;
如果我内部使用if判断,实际上是规避了bug;

3. 内存坏到我模块里了?

我觉得这个问题很杠;

4. 提供的配置文件,如果别人乱给你配呢?
5. 如果维护你模块的人不懂,乱用你的锁呢?

这两个问题,我觉得但凡是一个稍微有点智商的程序员,都会尽职尽责的去使用;用错了,是能力问题,需要提高能力;
而且,代码需要经过审核,如果乱用都看不出来,那么审核有什么用呢?

本文链接:记一次代码评审

转载声明:转载请注明来源:Linux TCP/IP Stack,谢谢!


发表评论

电子邮件地址不会被公开。 必填项已用*标注