- 主题:有个老外code review不让过
有时间直接改了就过了,改了也没坏处。
人生苦短,何必在这种事情上较真浪费生命
【 在 freyoneby 的大作中提到: 】
: 一定要函数参数加个const,比如conf(const char* path)改成conf(const char* const path),我说参数的值改不了,没必要加,他说能加const地方都要加,想问一下参数要么进栈要么进寄存器,const是怎么作用到寄存器上的?
:
: \- 来自 水
: ..................
发自「今日水木 on iPhone13」
--
FROM 223.104.39.*
加这个是为了防止潜在的被修改带来的风险,如果有这样的问题出现够喝一壶的。
有空看看什么是pclint什么是代码静态检查,这么提根本不是啥style的问题。老外的意见就是修复在静态检查中出的一个警告。
另外前面拿strcpy说事的,不知道还有strncpy这样的函数嘛? 为啥有各种各样的代替strcpy的函数,就是因为strcpy各种不安全。
【 在 z16166 (Netguy) 的大作中提到: 】
: 不是对code review这个活动抵触,而是style的问题
:
: 我觉得这种双const的style是属于政zhi上正确,但是不值得提倡的,除非是写一些要求极为严格的产品(通常是拿造原子弹来比拟)
:
--
修改:comus FROM 120.245.128.*
FROM 120.245.128.*
pclint的规则是可以定制的,不是所有的公司都用一套规则
【 在 comus 的大作中提到: 】
: 加这个是为了防止潜在的被修改带来的风险,如果有这样的问题出现够喝一壶的。
: 有空看看什么是pclint什么是代码静态检查,这么提根本不是啥style的问题。老外的意见就是修复在静态检查中出的一个警告。
: 另外前面拿strcpy说事的,不知道还有strncpy这样的函数嘛? 为啥有各种各样的代替strcpy的函数,就是因为strcpy各种不安全。
--
FROM 221.218.163.*
【 在 comus 的大作中提到: 】
: 加这个是为了防止潜在的被修改带来的风险,如果有这样的问题出现够喝一壶的。
: 有空看看什么是pclint什么是代码静态检查,这么提根本不是啥style的问题。老外的意见就是修复在静态检查中出的一个警告。
问题在于,一共有几个警告?为什么只修复这一个?别的为什么就不值得修复?
: 另外前面拿strcpy说事的,不知道还有strncpy这样的函数嘛? 为啥有各种各样的代替strcpy的函数,就是因为strcpy各种不安全。
strncpy 也不是 const char * const
--
FROM 112.97.60.*
是可以定制啊,但如果基本的const检查都不添加,那要lint有何意义?
【 在 z16166 (Netguy) 的大作中提到: 】
: pclint的规则是可以定制的,不是所有的公司都用一套规则
:
: 【 在 comus 的大作中提到: 】
: : 加这个是为了防止潜在的被修改带来的风险,如果有这样的问题出现够喝一壶的。
--
FROM 120.245.128.*
有几家搞双const的,可以发个帖子统计一下
我是受不了双const的,一般赶紧改用c++的const &了,绕开指针
人生苦短,码农的生涯周期短,赶紧用C++(带类的C)吧,不用异常,不用虚函数,不用模板,也比C好用得多
当然,这个前提是你有权力选择用C还是C++
【 在 comus 的大作中提到: 】
: 是可以定制啊,但如果基本的const检查都不添加,那要lint有何意义?
--
修改:z16166 FROM 221.218.163.*
FROM 221.218.163.*
就楼主的这行代码,只能查出const这个告警。
我说strncpy这个例子只是想说strcpy有很多漏洞,不应该作为参考标准。
lint会根据代码前后文调用关系给出告警,不跑lint那就加总比不加的好,没必要纠结这样的问题。
代码写多了会发现写得越规范,自己的代码越省心,少出幺蛾子。
【 在 flw (帅五进九) 的大作中提到: 】
:
: 【 在 comus 的大作中提到: 】
: : 加这个是为了防止潜在的被修改带来的风险,如果有这样的问题出现够喝一壶的。
: : 有空看看什么是pclint什么是代码静态检查,这么提根本不是啥style的问题。老外的意见就是修复在静态检查中出的一个警告。
--
FROM 120.245.128.*
从我的观点来说,第一个const没必要加,第二个path前面的const我反而觉得应该加,当然各人理解不同
【 在 freyoneby 的大作中提到: 】
: 一定要函数参数加个const,比如conf(const char* path)改成conf(const char* const path),我说参数的值改不了,没必要加,他说能加const地方都要加,想问一下参数要么进栈要么进寄存器,const是怎么作用到寄存器上的?
: - 来自 水木社区APP v3.5.7
--
FROM 117.63.239.*
然而这个并不基本吧。
【 在 comus 的大作中提到: 】
: 是可以定制啊,但如果基本的const检查都不添加,那要lint有何意义?
--
FROM 112.97.60.*
别扯那么多,拿出实证来。
你自己平时也是这么做的吗?
或者说,你跟前面某位同学一样,一直没搞懂我们在讨论啥?
【 在 comus 的大作中提到: 】
: 就楼主的这行代码,只能查出const这个告警。
: 我说strncpy这个例子只是想说strcpy有很多漏洞,不应该作为参考标准。
: lint会根据代码前后文调用关系给出告警,不跑lint那就加总比不加的好,没必要纠结这样的问题。
: 代码写多了会发现写得越规范,自己的代码越省心,少出幺蛾子。
--
FROM 112.97.60.*