命名規則またはディレクトリ構造

私はPHPプログラマですが、私が議論したいのはJavaの影響を受けます。

ハンガリー表記法といくつかの言語の命名規則についての記事を読んだ後、私はJavaのインタフェース命名規約がどれくらい明確であるかを証明しました。

AbstractCollection という抽象クラスと Lists という具体的なクラスがあるオブジェクトコレクションの場合を考慮して、どのように Interface リスト

問題は、Javaの命名規則では、 ListsInterfaceInterfaceLists など、インタフェースの接頭辞も接尾辞もありません。

Lists IS an Interface name and, obviously, at least in PHP, two files in same directory cannot have the same name of a class or interface.

インターフェイスを必要とするクラスはありませんが、プログラミングチームに移行する場合はどうすればいいですか?他のプログラマは自分のクラスを使用するかもしれませんが、クラスファイルを開いて、それが提供するパブリックメソッドを調べるべきではありません。

インターフェースを読んだだけで、すべてのことが明らかです。

ディレクトリ構造のポイントは、Interfaceと同じ名前のサブディレクトリを追加し、その中に具体的なクラスのファイルを追加することができます。例えば。:

/  
/Collections  
/Collections/Lists.php <-- Interface  
/Colection/Lists/Lists.php <--- Concrete Class  

今何?

0

2 答え

インターフェイスとクラスに同じ名前を付けるべきではありません。決して。あなたの読者のために。

私はあなたの特定の問題は慣例とはほとんど関係ないと思っていますが、 List という具体的な命名の問題は、インタフェースのようには聞こえません。 List はそうです。しかしその場合、実装クラスには、 List_DoublyLinkedList_SinglyLinked (またはあなたが話しているリストの種類など)など、より具体的な名前が付けられます。

1
追加された
そんなこと知ってる。しかし、私はそれが反対であると思います。リスト(複数)は、それを実装するすべてのものが単一のリスト(単数)になるため、インタフェースを表します。特に私はこれらのClassesWithVeryLongNameが好きではありません:P
追加された 著者 Bruno Augusto,
私のようなタンブルウィードのためのサイドノートは、 "list"という単語の予約のために任意の定義を識別するためにリテラル名 List を使用すると失敗します。むしろ残念です。
追加された 著者 Dan Lugg,
@BrunoAugusto ClassesWithVeryLongNamesは良いことです。彼らは説明的です。名前空間コードを使用している場合は、コード内のより短い名前を使用して、別名を定義して参照することもできます。
追加された 著者 NikiC,

私はあなたがJavaの代わりにPHP命名規則をチェックすべきだと思います。

http://framework.zend.com/manual/en/coding -standard.naming-conventions.html

Zendは、すべてのケースをほぼ考慮して、良いものを提供します。

Symfonyには別のものがあります( http://trac.symfony-project.org/wiki/HowToContributeToSymfony#CodingStandards )、Pearには別のものがあります( http://pear.php.net/manual /en/standards.php )。

あなたのケースでは、インターフェイスがインターフェイスであることを示すために、Zendはあなたのインターフェイスに接尾辞を付けるよう強制します。あなたのdir構造は次のようになります:

Collections/
Collections/ListsInterface.php
Collections/Lists/ListAbstract.php
Collections/Lists/MyList.php

私はこの投稿があなたの質問に答えるかどうかわかりませんが、それが助けてくれることを願っています。

1
追加された
最後の日に私はいくつかの命名規約を読みました。そして、Javaは私が見つけることができる最もエレガントでした。私はそのようなプレフィックス(または接尾辞)を避けようとしていますが、これまでのところ運がありません。 :(
追加された 著者 Bruno Augusto,
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com