2012-11-26 13 views

答えて

9

このための慣習はありません。特にPHPで。これはすべてあなたが望むように整理することができます。

PHP 5.3でnamespacesが追加されているため、実際のクラス名に接頭辞/接尾辞AbstractまたはInterfaceを追加する必要はありません。

名前はそのままです!

+0

は、法律でPSRに準拠したければ、インターフェイスに十分なものとして 'Interface'を含める必要があるということを指摘しておく価値があります。 http://www.php-fig.org/bylaws/psr-naming-conventions/ – wired00

8

慣習はありませんが、接頭辞Abstractと接尾辞Interfaceをそれぞれのコンポーネントに使用することをお勧めします。 IMOのコードをよりよく理解するのに役立ちます。

1

慣習は、そのように見えます。言語自体は、パーサーがコードを読み取ることができる慣習以外の慣習を強制しません。基本的には、特定のプロジェクトのためにあなた自身で設定するか、すべてのプロジェクトに対してより良いコンベンションを設定する必要があります。しかし、異なる人々のチームで働くことは、慣行に従わないことにつながる可能性があります。それは実際にプログラマーに依存します。

私の経験から、「契約による設計」のようなものを提案します。実装クラスに名前を付けるような契約(インターフェイス)に名前を付けて、実装に具体的な名前を付けます(あるいは、MyContractNameImplへのフォールバック、主にJavaから推測されます)。また、現代の多くのIDEは、あなたのクラスがインタフェースか抽象かを知っていますので、そのクラスに名前を入れる必要はありません。私は同じ理由で、 "IMyContract"のような名前の契約も本当にうまくいきません。

1

使って、抽象クラスとインターフェイスの命名:

  • 抽象*
  • *インタフェース

あなたのチームに、きれいな素敵で明らかにあなたのコードベースを維持するどのようなプロトタイプは、何でありますか契約であり、具体的な実装は何か。

命名規則は、どんな状況でも生産性を上げるためのもので、「好きな名前を付けてください」というのは良い考えではありません。

FIGグループは抽象クラスとインタフェースの命名規則を提案していませんが、主要なオープンソースPHPプロジェクトを調べると、それらのほとんどすべてがこの規約を使用していることがわかります。