インターフェイスまたはクラスによって表される概念があり、それを拡張する一連のサブクラス/サブインターフェイスがある状況に陥ることがよくあります。
例: 汎用の「DoiGraphNode」 リソースを表す「DoiGraphNode」 Java リソースを表す「DoiGraphNode」 パスが関連付けられた「DoiGraphNode」など。
3 つの命名規則が考えられます。選択方法についてコメントをいただければ幸いです。
オプション 1: 常にコンセプトの名前から始めます。
したがって、DoiGraphNode、DoiGraphNodeResource、DoiGraphNodeJavaResource、DoiGraphNodeWithPath などです。
長所: 何を扱っているかが非常に明確です。すべてのオプションを簡単に確認できます。
短所:あまり自然ではありませんか?全部同じに見える?
オプション 2: 特別なものを先頭に置きます。
したがって、DoiGraphNode、ResourceDoiGraphNode、JavaResourceDoiGraphNode、PathBaseDoiGraphNode など。
長所:コードで見ると非常に明確です
短所: 特に名前を覚えていない場合、見つけるのが難しい場合があります。視覚的な一貫性がありません。
オプション 3: 特別なものを配置し、冗長なテキストの一部を削除する
したがって: DoiGraphNode、ResourceNode、JavaResourceNode、GraphNodeWithPath
長所: 読み書きすることがそれほど多くない 短所: cr*p のように見え、非常に一貫性がなく、他の名前と競合する可能性がある