当前位置:  开发笔记 > 编程语言 > 正文

命名子类的最佳实践

如何解决《命名子类的最佳实践》经验,为你挑选了2个好方法。

我经常遇到一个由接口或类表示的概念,然后我有一系列扩展它的子类/子接口.

例如:通用"DoiGraphNode"表示资源的"DoiGraphNode"表示Java资源的"DoiGraphNode"具有相关路径的"DoiGraphNode"等.

我可以想到三个命名约定,并希望评论如何选择.


选项1:始终以概念的名称开头.

因此:DoiGraphNode,DoiGraphNodeResource,DoiGraphNodeJavaResource,DoiGraphNodeWithPath等.

亲:很清楚我在处理什么,很容易看到我的所有选项

骗局:不是很自然?一切看起来都一样吗?


选项2:将特殊内容放在开头.

因此:DoiGraphNode,ResourceDoiGraphNode,JavaResourceDoiGraphNode,PathBaseDoiGraphNode等等.

亲:我在代码中看到的很清楚

Con:发现它可能很困难,特别是如果我不记得名字,缺乏视觉一致性


选项3:放入特殊内容并删除一些冗余文本

因此:DoiGraphNode,ResourceNode,JavaResourceNode,GraphNodeWithPath

Pro:没有那么多写和读Con:看起来像cr*p,非常不一致,可能与其他名称冲突



1> David Z..:

使用你喜欢的任何东西,这是一个主观的东西.重要的是要弄清楚每个类代表什么,名称应该是继承关系有意义的.我不认为编码名称中的关系是非常重要的; 这就是文档的用途(如果你的名字适合于对象,人们应该能够很好地猜测从什么继承的东西).

对于它的价值,我通常使用选项3,根据我的经验,查看其他人的代码选项2可能比选项1更普遍.



2> Mitch Wheat..:

根据它们的名称命名它们.

如果命名它们很难或含糊不清,那通常表明班级做得太多(单一责任原则).

要避免命名冲突,请适当选择命名空间.

个人而言,我会用3

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有