我经常处于这样一种情况,即我有一个由接口或类表示的概念,然后我有一系列扩展它的子类/子接口。
例如: 一个通用的“DoiGraphNode” 一个代表资源的“DoiGraphNode” 一个代表 Java 资源的“DoiGraphNode” 一个带有关联路径的“DoiGraphNode”,等等等等。
我可以想到三种命名约定,并希望对如何选择提出意见。
选项 1:始终以概念名称开头。
因此:DoiGraphNode、DoiGraphNodeResource、DoiGraphNodeJavaResource、DoiGraphNodeWithPath 等。
Pro:很清楚我在处理什么,很容易看到我拥有的所有选项
骗子:不是很自然?一切看起来都一样?
选项2:把特殊的东西放在开头。
因此:DoiGraphNode、ResourceDoiGraphNode、JavaResourceDoiGraphNode、PathBaseDoiGraphNode 等等等等。
亲:看到代码就很清楚了
缺点:找到它可能很困难,特别是如果我不记得名字,缺乏视觉一致性
选项 3:放置特殊内容并删除一些多余的文本
因此:DoiGraphNode、ResourceNode、JavaResourceNode、GraphNodeWithPath
优点:写和读的不多 缺点:看起来像 cr*p,非常不一致,可能与其他名称冲突