其他實(shí)踐
下面還有集中其他的實(shí)踐習(xí)慣值得提及到的,也值得加入到你自己的編程習(xí)慣里面的。
UML
統(tǒng)一建模語(yǔ)言(UML)是一種與具體編程語(yǔ)言無(wú)關(guān)的用來(lái)描述面對(duì)對(duì)象編程觀念的方法。關(guān)于UML的相關(guān)信息資料你可以從http://www.uml.org上找到。
UML涉及到很多方面,但對(duì)PHP程序員來(lái)說(shuō),其中最相關(guān)的兩方面是類(lèi)圖和序列圖。
類(lèi)圖描述了一個(gè)或者更多的類(lèi)以及他們?cè)谀愕某绦蛑g的相互關(guān)系。(譯者注:最好能夠參考相關(guān)的UML教材,將有助于你的理解。)每個(gè)類(lèi)都用一個(gè)盒子標(biāo)識(shí),每個(gè)盒子都分成三部分:第一部分是類(lèi)名,第二步分列舉了類(lèi)的屬性(變量),最后一部分列舉了類(lèi)的方法。屬性和方法的可見(jiàn)度被設(shè)計(jì)為:+代表public(公開(kāi)),—代表private(私有),#代表protected(受保護(hù)的)。
序列圖描述了為一個(gè)特定的任務(wù)或者事件,你對(duì)代碼中的對(duì)象之間的典型的交互活動(dòng)。一個(gè)序列圖主要傳達(dá)這樣的信息:誰(shuí),以什么樣的順序,在什么時(shí)候,調(diào)用不同的方法(由名字也可以看出:“序列圖”)。序列圖是對(duì)象集和開(kāi)發(fā)人員之間交互溝通的非常有用工具。
在我自己的工程里,我使用這兩種典型的類(lèi)圖來(lái)勾畫(huà)我們的設(shè)計(jì),但是很少能將他們格式化到項(xiàng)目文檔里面。對(duì)象之間的關(guān)系經(jīng)常隨著你對(duì)系統(tǒng)理解的深化和用戶(hù)需求的變化而改變,因此這些圖表很快就會(huì)過(guò)時(shí)。這也就是說(shuō)“一張圖足足值一千個(gè)文字”。這些圖表對(duì)新開(kāi)發(fā)人員理解系統(tǒng)是非常由幫助的,也能做為使用你軟件的開(kāi)發(fā)人員的手冊(cè)。
資源控制
“及時(shí)的、經(jīng)常性的保存”是開(kāi)發(fā)人員另外一個(gè)有用的格言。即使你是這個(gè)項(xiàng)目的唯一的開(kāi)發(fā)人員,你也應(yīng)該維持所有的資源處于控制下。
網(wǎng)上可以獲取到很多關(guān)于資源控制的解決方法,其中兩個(gè)出色:CVS(http://www.cvshome.org)和Subversion(http://subversion.tigris.org)。CVS是一個(gè)非常流行的用于解決PHP和Apache項(xiàng)目的工具。同時(shí),Subversion也正在迅速的成為流行的二選一工具之一,因?yàn)樗朔薈VS的一些不足之處(特別是在原語(yǔ)命令和刪除/重命名文件夾或文件方面)。然而很少有項(xiàng)目安裝Subversion服務(wù)器。
在工作的時(shí)候,我采用CVS,但這本書(shū)的代碼都是使用Subversion來(lái)維護(hù)的。
資源代碼文檔
如果你瀏覽完了這本書(shū)的所有頁(yè)面,你可以會(huì)注意到一些明顯的格式化的注釋塊類(lèi)似于:
/** * funny multi-line comments * @something what is this? */
它們被稱(chēng)為“docblocks”(譯者注:文檔塊),是由程序,比如說(shuō)phpDocumentor(http://phpdocu.sf.net),為你的PHP項(xiàng)目自動(dòng)生成的應(yīng)用程序接口(API)文檔。
Docblocks(文檔塊)是特定格式的多行注釋?zhuān)?**標(biāo)識(shí)開(kāi)始,接下來(lái)的每行都以*為第一個(gè)字符,并以*/標(biāo)識(shí)注釋終止。在每行的前綴前面允許有空格。
@something 代表一個(gè)“標(biāo)簽”(tag),當(dāng)文檔需要轉(zhuǎn)化為解析格式時(shí),標(biāo)簽用來(lái)闡明一些必要的信息。比如說(shuō)標(biāo)簽@private,使用在php4中,常用來(lái)標(biāo)識(shí)類(lèi)的這個(gè)方法或者屬性時(shí)私有的,因?yàn)樵趐hp4中時(shí)沒(méi)有提供這種天然的能力的(譯者注:在php4中時(shí)無(wú)法說(shuō)明一個(gè)變量或者方法是否私有的)。
資源代碼文檔比如說(shuō)docblocks即是一個(gè)有用的參考資料,也是開(kāi)源項(xiàng)目的一個(gè)好廣告。其中一個(gè)例子(我?guī)兔S護(hù)的)就是SimpleTestAPI文檔(http://simpletest.org)。
本文鏈接:http://m.95time.cn/tech/program/2008/5658.asp
出處:phpchina
責(zé)任編輯:bluehearts
上一頁(yè) php設(shè)計(jì)模式介紹之編程慣用法 [2] 下一頁(yè)
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|