抽象クラスには常に接頭辞Abstract
と接尾辞Interface
(インタフェースの場合)を指定する必要がありますか?フォルダ構造/名前空間のPSR-0に似ていますが、クラスのための標準命名規則はありますか?抽象クラスとインターフェイスに関するPHPの命名規則
答えて
このための慣習はありません。特にPHPで。これはすべてあなたが望むように整理することができます。
PHP 5.3でnamespacesが追加されているため、実際のクラス名に接頭辞/接尾辞Abstract
またはInterface
を追加する必要はありません。
名前はそのままです!
慣習はありませんが、接頭辞Abstract
と接尾辞Interface
をそれぞれのコンポーネントに使用することをお勧めします。 IMOのコードをよりよく理解するのに役立ちます。
慣習は、そのように見えます。言語自体は、パーサーがコードを読み取ることができる慣習以外の慣習を強制しません。基本的には、特定のプロジェクトのためにあなた自身で設定するか、すべてのプロジェクトに対してより良いコンベンションを設定する必要があります。しかし、異なる人々のチームで働くことは、慣行に従わないことにつながる可能性があります。それは実際にプログラマーに依存します。
私の経験から、「契約による設計」のようなものを提案します。実装クラスに名前を付けるような契約(インターフェイス)に名前を付けて、実装に具体的な名前を付けます(あるいは、MyContractNameImplへのフォールバック、主にJavaから推測されます)。また、現代の多くのIDEは、あなたのクラスがインタフェースか抽象かを知っていますので、そのクラスに名前を入れる必要はありません。私は同じ理由で、 "IMyContract"のような名前の契約も本当にうまくいきません。
使って、抽象クラスとインターフェイスの命名:
- 抽象*
- *インタフェース
あなたのチームに、きれいな素敵で明らかにあなたのコードベースを維持するどのようなプロトタイプは、何でありますか契約であり、具体的な実装は何か。
命名規則は、どんな状況でも生産性を上げるためのもので、「好きな名前を付けてください」というのは良い考えではありません。
FIGグループは抽象クラスとインタフェースの命名規則を提案していませんが、主要なオープンソースPHPプロジェクトを調べると、それらのほとんどすべてがこの規約を使用していることがわかります。
- 1. インタフェースと抽象クラスの記述的命名規則
- 2. 抽出されたインターフェイスの命名規則
- 3. ポリモーフィックな関係とインターフェイス/抽象クラス/プロトコル
- 4. 命名規則
- 5. 命名規則
- 6. Pythonクラス参照の命名規則
- 7. アクセシビリティーのための命名規則php
- 8. 命名規則とネームスペース
- 9. 命名規則 - uinavigationcontrollerとルートビュー
- 10. serialVersionUID命名規則
- 11. Rails、命名規則
- 12. ビットマスクパラメータ命名規則?
- 13. インテントキー命名規則
- 14. モジュール関数のPythonユニットテスト命名規則
- 15. IBAction関数の命名規則
- 16. php oopインターフェイスまたは抽象クラス
- 17. JMSキューとトピックの命名規則に関する提案
- 18. Spring/MVC webappのControllerクラスとModel Javaクラスの命名規則?
- 19. Railsマイグレーションの命名規則
- 20. Pythonのモジュール命名規則
- 21. cssメニューの命名規則
- 22. Eclipseプロジェクトの命名規則
- 23. AngularJsディレクティブの命名規則
- 24. デコレータのPython命名規則
- 25. モジュラーアプリケーションのデータベーステーブル命名規則
- 26. HTML/CSSの命名規則
- 27. ベースファイルの命名規則
- 28. プロパティの命名規則
- 29. テンプレートオブジェクトの命名規則
- 30. アップロードの命名規則
は、法律でPSRに準拠したければ、インターフェイスに十分なものとして 'Interface'を含める必要があるということを指摘しておく価値があります。 http://www.php-fig.org/bylaws/psr-naming-conventions/ – wired00