我正在监督的团队中的开发人员更喜欢在他的测试中将变量声明为常量,例如const int someValue = 1;(而不仅仅是int someValue = 1;).
当我看到这一点时,我发现它有点奇怪,并质疑他做了什么.他的论点是,这对于这个测试来说是明智的 - 因为他所分配的价值永远不会改变.
我一直认为常量是应该在类级别声明的东西.但是,我确实看到了开发人员的观点.
你怎么看?而且,除了测试之外,你会用常规方法声明常量吗?如果是,那为什么呢?
Joh*_*lla 21
一般来说,我认为以这种方式明确表达您的意图总是一个好主意,原因有很多:
使变量保持不变是完成上述所有操作的完全合法的方法,在特定的情况下意图"我不希望这个变量改变它的值".
Bil*_*ard 11
来自Scott Meyers的Effective C++(第3章):
const尽可能使用.美妙的事情有关
const的是,它允许你指定一个语义约束-特定对象应该不被修改-和编译器将强制执行约束.它允许您与编译器和其他程序员进行通信,使值保持不变.只要这是真的,你应该肯定这么说,因为这样你就可以帮助编译器帮助确保不违反约束条件.
如果你打算使用静态类型的语言,为什么不去整个九码呢?使用const以表明您不希望值,以第一次转让后不断改变.如果你蠢的话,让编译器给你带来麻烦.
我非常喜欢constC++方法参数中的关键字,正是出于这个原因......