[英]Naming Conventions or Directory Strucure
我是PHP程序員,但我想討論的是Java的影響。
在閱讀了一些關於匈牙利表示法和幾種語言命名約定的文章后,我證明了Java的接口命名約定有多清楚,我有一個問題。
考慮到對象集合的情況下,我們有一個抽象類, 類AbstractCollection叫和被叫列出具體的類,我應該如何命名對象列出的接口 ?
問題是,在Java的命名約定中,接口沒有前綴或后綴,例如ListsInterface或InterfaceLists 。
列表是一個接口名稱,顯然,至少在PHP中,同一目錄中的兩個文件不能具有相同的類或接口名稱。
我知道,不是每個類都需要一個接口,但如果我決定轉到編程團隊呢? 其他程序員可能會使用我的類,但他們不應該打開類文件來查看它提供的公共方法。
只需閱讀其界面,一切都很清楚。
目錄結構點來自於添加具有相同名稱的接口的子目錄的可能性,並在其中添加具體類的文件。 例如:
/
/Collections
/Collections/Lists.php <-- Interface
/Colection/Lists/Lists.php <--- Concrete Class
現在怎么辦?
您不應該為接口和類指定相同的名稱。 決不。 為了您的讀者的緣故。
我認為你的特殊問題與約定沒什么關系,但是具有一個具體的命名問題Lists
聽起來根本不像一個接口。 List
。 但在這種情況下,實現類將具有更具體的名稱,如List_DoublyLinked
和List_SinglyLinked
(或者您正在討論的任何類型的列表)。
我認為你應該檢查PHP命名約定而不是Java。
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強制你在你的接口上添加一個后綴。 所以你的目錄結構應該是這樣的:
Collections/
Collections/ListsInterface.php
Collections/Lists/ListAbstract.php
Collections/Lists/MyList.php
我不知道這篇文章是否回答了你的問題,但我希望它有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.