我经常遇到这样的情况:我有一个由接口或类表示的概念,然后我有一系列扩展它的子类/子接口。命名子类的最佳做法
例如: 一个通用的 “DoiGraphNode” A “DoiGraphNode” 表示资源 A “DoiGraphNode” 表示Java资源 A “DoiGraphNode” 具有相关联的路径,等等等等
我可以想到三个命名约定,并会对如何选择评论。
选项1:始终以概念的名称开头。
这样:DoiGraphNode,DoiGraphNodeResource,DoiGraphNodeJavaResource,DoiGraphNodeWithPath等
临:这是很清楚我处理,很容易看到我的全部
精读的选项:不是很自然?一切看起来都一样?
选项2:把特殊的东西放在开头。
这样:DoiGraphNode,ResourceDoiGraphNode,JavaResourceDoiGraphNode,PathBaseDoiGraphNode, 等等等等
临:这是非常清楚的,当我看到它的代码
缺点:发现它可能是困难的,尤其是如果我不记得名字了,缺乏视觉一致性
方法3:把特殊的东西,去除一些多余的文本的
这样:DoiGraphNode,ResourceNode,JavaResourceNode,GraphNodeWithPath
临:不多写入和读取 缺点:看起来像CR * P,很不一致,可以与其他的名字
我也选择了第三个选项。在前两种情况下,可能会出现一个“扭曲的长名字的迷宫”,所有这些都略有不同,在这里你很难阅读它们,甚至记住什么名字与什么概念相对应。 – starblue 2009-02-22 08:52:59