|
|
1
55
我会引用一些段落 Implementation Patterns 肯特·贝克: 简单超类名称
限定子类名称
界面
更详细的讨论,买这本书!这是值得的!:) |
|
|
2
37
总是选择myclassa,myclassb-它允许一个很好的alpha排序。 我在开玩笑! 这是一个很好的问题,也是我不久前经历的一些事情。我在工作中对代码库进行了重新组织,在放置什么和调用什么方面遇到了问题。 这个 真实的 问题? 我上课做的太多了。如果你试图坚持 single responsibility principle 这会使所有的事情都变得更美好。而不是一个整体 打印头 你可以把它分解成 页面处理器 , 页面格式化程序 (等等)然后有一个主人 打印机 把所有的一切结合在一起。 在我的重新组织中,这花了我很多时间,但是我最终放弃了很多重复的代码,使我的代码库更加合乎逻辑,并且在将一个额外的方法投入到类中之前,我学到了很多东西:d 我愿意 不 但是,建议将模式名等内容放入类名中。类接口应该很明显(比如隐藏单例的构造函数)。如果类是为通用目的服务的,那么通用名称没有任何错误。 祝你好运! |
|
|
3
27
乔希·布洛赫的精彩演讲 good API design 有一些好的建议:
如果您的问题是如何命名公开的内部类,那么您可能应该将它们合并到一个更大的类中。 如果你的问题是命名一个做了很多不同事情的类,你应该考虑把它分成多个类。 如果这是一个公共API的好建议,那么它不会对任何其他类造成伤害。 |
|
|
4
12
如果你坚持一个名字,有时只需说出它 any 半知半解的名字,承诺以后再修改是一个好策略。 不要被命名为瘫痪。是的,名字很重要,但不足以浪费大量时间。如果10分钟内你想不出一个好名字,那就继续。 |
|
|
5
7
如果一个好的名字没有出现在我的脑海中,我可能会质疑是否存在更深层次的问题——这门课是否有一个好的目的?如果是,命名应该非常简单。 |
|
|
6
2
如果你的“fooprocessor”真的处理foos,那么不要因为你已经有了barprocessor、bazprocessor等而不愿意给它取这个名字。当有疑问时,显然是最好的。其他必须阅读代码的开发人员可能没有使用与您相同的同义词库。 也就是说,对于这个特定的例子,更具体的情况不会受到伤害。”“过程”是一个相当宽泛的词。例如,它真的是一个“fooupdateprocessor”(可能会变成“fooupdater”)吗?你不必对命名太“有创意”,但是如果你写了代码,你可能对它的作用和不作用有了相当好的了解。 最后,请记住,裸类名并不是您和代码的读者都必须继续使用的东西——通常也有名称空间在起作用。这些通常可以为读者提供足够的上下文,以便清楚地了解类的真正用途,即使它的裸名称是相当通用的。 |