suin.io

[PHP]interfaceの命名規約いろいろ

suin2011年8月6日

PHPのinterfaceの命名規約ってどういうのがいいんだろう?Javaや他の言語の命名規則をあつめてみた。うちは、こんな命名規則でやってます、というのがあったら教えてください。

1. Iを接頭辞にする

interface IUser {}
  • ○ 慣れればインターフェイスだと比較的分かりやすいかも。
  • ○ ファイル名でソートしたときに、インターフェイスが集まる。
  • × Iが見えにくい。細い。
  • 感想: ハンガリアン記法っぽくて嫌い。

2. Interfaceを接尾辞にする

interface UserInterface {}
  • ○ インターフェイスって分かりやすい。
  • ○ もうクラスがあって、それをインターフェイスに抽象化するときは、クラス名に接尾辞つけるだけ。
  • × インターフェイス定義だけ見ると冗長。
  • × 長い。
  • 感想: 悪くないと思う。

3. -ableを接尾辞にする

interface Countable {}
  • インターフェイスは能力を表すという世界観。
  • ○ 慣れればインターフェイスって分かりやすい。
  • → クラスに-ableを使うことを禁止しないとごっちゃになる。
  • × 英語力がないとインターフェイス名考えるのが辛い。
  • 感想: なんとなくいいかも。

4. 完全に自由

interface FooBar {}
  • × クラス名とかぶるとめんどくさい。
  • × type-hintingとかuseとかinstanceofでインターフェイスって分かりにくい。
  • → 分からなくても困らないかも?
  • ○ 臨機応変に名前をつけられる。
RELATED POSTS