![]() |
1
3
正如您已经指出的,未来的维护人员将感谢您明确的命名。这个维护者甚至可能是你,我一次又一次地惊讶于我忘记了我自己的代码,当我已经有一段时间没有在代码上工作的时候,再次理解它是多么的困难。 我肯定会一直使用常量,只要范围大于一个简单的方法。一旦开始传递这些值,imho必须将它们定义为常量。在方法内部,注释可能会执行此操作。但是,这并不能帮助代码中没有看到该注释的任何调用方。即使是同一类中的另一个方法也应被视为“API客户机”,它不应该知道它在这方面调用的其他方法的实现细节。
使用支持“真实”枚举的语言(如Java)
|
![]() |
2
5
如果每个函数都采用“魔力参数”,那么 你已经大错特错了 . 我愿意 总是 使用常量。如果你认为这意味着你有太多的常量,那么这只是反映了你设计中的其他缺陷。 |
![]() |
3
2
我会在哪里用它……
以PHP为例 sort() 例如。这是有道理的:
但是会这样吗?
|
![]() |
4
1
如果你在类中包装东西,并且使用类常量,那么问题就少了。除了路径之外,我很少使用全局常量。 |
![]() |
5
0
您应该尽量将代码中的文本保持在绝对的最低限度:每个文本都是一个潜在的问题,因为您的环境可以更改,而且其他开发人员可能不知道它的含义。 当我开始一个项目时,我总是将一个文件专门用于命名常量,通常被包装在一个专门用于命名常量的类中,并且由于我工作的性质需要,我对它们进行了大量的使用。所有命名常量都驻留在该文件中,并由该文件控制,从而为您提供了出色的组织和对命名常量的控制。您还可以将它们组织成带有注释或代码区域的组,并且根据语言的不同,将它们一个嵌套并构建在另一个组上。 这些年来,这种做法帮助了我无数次。 |
![]() |
KiraHoneybee · 具有构造函数参数的模板化类 2 年前 |
![]() |
Jiji · 将简单对象强制转换为简单的通用接口 7 年前 |
![]() |
Ashish K · 在Groovy中将字符串参数传递给对象方法参数 7 年前 |
![]() |
snuff · c语法的问题-const*const*定义 7 年前 |
![]() |
Val · 将整个结构指针数组传递给函数的语法是什么?[已关闭] 7 年前 |
![]() |
dragi · 将参数传递到void方法(整数或对象) 7 年前 |
![]() |
msinghm · 参数仅与其他参数一起工作,但我希望它们独立工作 7 年前 |
![]() |
user3251349 · SSRS:参数未过滤MySQL查询 7 年前 |