Posted on 2011-04-26 21:20
RTY 閱讀(305)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
編程常識(shí)
我們中的大多數(shù)人都經(jīng)歷過(guò)費(fèi)解代碼的糾纏。我們中的許多人自己就編寫過(guò)費(fèi)解的代碼。寫出自己能理解的代碼很容易,因?yàn)樵趯戇@些代碼時(shí),我們正深入于要解決的問(wèn)題中。代碼的其他維護(hù)者不會(huì)那么深入,也就不易理解代碼。
軟件項(xiàng)目的主要成本在于長(zhǎng)期維護(hù)。為了在修改時(shí)盡量降低出現(xiàn)缺陷的可能性,很有必要理解系統(tǒng)是做什么的。當(dāng)系統(tǒng)變得越來(lái)越復(fù)雜,開發(fā)者就需要越來(lái)越多的時(shí)間來(lái)理解它,而且業(yè)績(jī)有可能誤解。所以,代碼應(yīng)當(dāng)清晰地表達(dá)其作者的意圖。作者把代碼寫得越清晰,其他人花在理解代碼上的時(shí)間也就越少,從而減少缺陷,縮減維護(hù)成本。
可以通過(guò)選用好名稱來(lái)表達(dá)。我們想要聽(tīng)到好類名和好函數(shù)名,而且在查看其權(quán)則時(shí)不會(huì)大吃一驚。
也可以通過(guò)保持函數(shù)和類尺寸短小來(lái)表達(dá)。短小的類和函數(shù)通常易于命名,易于編寫,易于理解。
還可以通過(guò)采用標(biāo)準(zhǔn)命名法來(lái)表達(dá)。例如,設(shè)計(jì)模式很多大程度上就關(guān)乎溝通和表達(dá)。通過(guò)在實(shí)現(xiàn)這些模式的類的名稱中采用標(biāo)準(zhǔn)模式名,例如COMMAND或VISITOR,就能充分地向其他開發(fā)者描述你的設(shè)計(jì)。
編寫良好的單元測(cè)試也具有表達(dá)性。測(cè)試的主要目的之一就是通過(guò)實(shí)例起到文檔的作用。讀到測(cè)試的人應(yīng)該能很快理解某個(gè)類是做什么的。
不過(guò),做到表達(dá)力的最重要方式卻是嘗試。有太多時(shí)候,我們寫出能工作的代碼,就轉(zhuǎn)移到下一個(gè)問(wèn)題上,沒(méi)有下足功夫調(diào)整代碼,讓后來(lái)者易于閱讀。技戰(zhàn)術(shù),下一位讀代碼的人最有可能是你自己。
所以,多少尊重一下你的手藝吧。花一點(diǎn)點(diǎn)時(shí)間在每個(gè)函數(shù)和類上。選用較好的名稱,將大函數(shù)切分為小函數(shù),時(shí)時(shí)關(guān)注自己創(chuàng)建的東東,用心是最珍貴的資源。