編程命名中的7+1個(gè)提示_第1頁
已閱讀1頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、編程命名中的71個(gè)提示前幾天Neo寫過《編程中的命名設(shè)計(jì)那點(diǎn)事》,這里也有另外一篇和程序命名的文章,可以從另一個(gè)角度看看。1.變量應(yīng)該是盡可能的望文知意。千萬不要使用教材中的命名方式。好的變量:daysDateRangeflightNumbercarCol.壞的變量:daysdRangetempdataaux…在我們的日常工作中,有很大數(shù)量的開發(fā)人員喜歡使用短的變量名,而不是有含義的變量名。這主要是因?yàn)槲覀兇髮W(xué)教科書的那些示例所造成的,

2、人都是先入為主,所以,教科書中的那些很抽象,帶著演示的變量命名影響了我們一代又一代的程序員,并影響了他們很多年。雖然那些短的,教材式的變量名,可能會(huì)讓你少打一些字,但其實(shí),這是非常非常不好的。因?yàn)檐浖木S護(hù)成本遠(yuǎn)遠(yuǎn)大于了軟件的開發(fā)成本,如果你不取一個(gè)好的一點(diǎn)的變量名,那么當(dāng)進(jìn)行代碼評(píng)審時(shí),當(dāng)進(jìn)行bugfixing時(shí),當(dāng)進(jìn)行代碼重構(gòu)時(shí),當(dāng)進(jìn)行代碼維護(hù)時(shí),你的某個(gè)變量名可能會(huì)讓你一頭霧水,不知道所措,還可以會(huì)讓你走入陷阱,造成更大的時(shí)間成本

3、。所以,一個(gè)可閱讀的代碼必然和那些不錯(cuò)的變量名分不開,而這也能讓你的軟件間接上有更好的質(zhì)量。2.變量名不要太長(zhǎng),盡可能地簡(jiǎn)短只有簡(jiǎn)單和簡(jiǎn)短的變量名才是容易閱讀的。因?yàn)槟愕淖兞棵欢〞?huì)用于程序語句中,所以,為了讓你的程序語句看起來的簡(jiǎn)短,你的變量名也應(yīng)該短一點(diǎn),不然寫出來的一個(gè)表達(dá)式就會(huì)顯得很復(fù)雜。當(dāng)然,在有些時(shí)候,一個(gè)有含義的變量名和一個(gè)簡(jiǎn)短的變量名可能存在一些沖突。這相當(dāng)鍛煉我們的語言能力——如果有最精煉的詞語來表達(dá)最豐富的含義。如果

4、實(shí)在做不到,那么,取一個(gè)有含義的變量名要比取一個(gè)簡(jiǎn)短的變量名更好一些。不管怎么樣,我們希望即簡(jiǎn)短又有豐富的含義,但如果不能兩全,那有含義優(yōu)先級(jí)更高一些。壞的變量:howLonDoesItTakeToOpenTheDo,howBigIsTheMaterial…好的變量:timeToOpenTheDo,MaterialSize.3.可以使用縮寫,但需要有一些注釋有一些時(shí)候,我們需要使用一些縮寫來命名變量,比如:用usr來表示user,用gp

5、來表示group,用conf來表示configuration,用cwd來表示currentwkingdirecty,用ptr來代碼pointtoreference,等等,等等??s寫一般要用在大家可以看得懂的,而不是為了縮寫而縮短一個(gè)單詞,當(dāng)然,如果你把縮寫后的變量名加上注釋,那就更加穩(wěn)妥了。關(guān)于一些約定俗成的縮寫,可參看本文的附錄一。4.使用合適的匈牙利命名規(guī)則這里有一篇非常不錯(cuò)的英文文章告訴你《什么是合適的匈牙利命名》,這篇文章同時(shí)還

6、告訴你如何去用他。基本上來說,匈牙利命名法主要是為變量加上某種前綴以標(biāo)識(shí)這個(gè)變量的類型,或是一種方法的功能。其基本原則是:變量名=屬性+類型+對(duì)象描述。比如:在描述類型方面:指針p,函數(shù)fn,長(zhǎng)整型l,布爾b,浮點(diǎn)型(有時(shí)也指文件)f,雙字dw,字符串sz,短整型n,雙精度浮點(diǎn)d,無符號(hào)u……等等。關(guān)于更多的命名規(guī)范,請(qǐng)參見附錄二。注意,匈牙利命名也是有不好的地方的,比如你要把一個(gè)整形改成一個(gè)浮點(diǎn)型,你除了要改變這個(gè)變量的類型,你還要改

7、變這個(gè)變量的名字。這是相當(dāng)麻煩的。而且,在某些時(shí)候,這種前綴式的命名可以反而讓你不知所措。另外,在C中,有了類以后,這種errerrescapeescFflagflgfmfrmGgridgrdIincrementincinfmationinfoinitialinitinsimageimgLlablelablengthlenlistlstlibrarylibMmanagermgrmngrmessagemsgOacleaPpanamapan

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論