簡體   English   中英

命名約定或目錄結構

[英]Naming Conventions or Directory Strucure

我是PHP程序員,但我想討論的是Java的影響。

在閱讀了一些關於匈牙利表示法和幾種語言命名約定的文章后,我證明了Java的接口命名約定有多清楚,我有一個問題。

考慮到對象集合的情況下,我們有一個抽象類, 類AbstractCollection叫和被叫列出具體的類,我應該如何命名對象列出接口

問題是,在Java的命名約定中,接口沒有前綴或后綴,例如ListsInterfaceInterfaceLists

列表是一個接口名稱,顯然,至少在PHP中,同一目錄中的兩個文件不能具有相同的類或接口名稱。

我知道,不是每個類都需要一個接口,但如果我決定轉到編程團隊呢? 其他程序員可能會使用我的類,但他們不應該打開類文件來查看它提供的公共方法。

只需閱讀其界面,一切都很清楚。

目錄結構點來自於添加具有相同名稱的接口的子目錄的可能性,並在其中添加具體類的文件。 例如:

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

現在怎么辦?

您不應該為接口和類指定相同的名稱。 決不。 為了您的讀者的緣故。

我認為你的特殊問題與約定沒什么關系,但是具有一個具體的命名問題Lists聽起來根本不像一個接口。 List 但在這種情況下,實現類將具有更具體的名稱,如List_DoublyLinkedList_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM