色欲av人妻精品一区二区直播_少妇高潮毛片免费看_极品少妇被啪到呻吟喷水_亚洲日韩国产AV无码无码精品

借助互聯網更有效的滿足顧客的需求和愿望,實現企業營銷目的

With the help of the Internet, we can more effectively meet the needs and aspirations of customers, and achieve the purpose of enterprise marketing

編程命名中的7+1個提示


1.- 變量應該是盡可能的望文知意。千萬不要使用教材中的命名方式。

  • 好的變量 daysDateRange, flightNumber, carColor.
  • 壞的變量: days, dRange, temp, data, aux…

在我們的(de)(de)(de)(de)(de)日常(chang)工作中,有(you)很(hen)大(da)(da)(da)數量(liang)的(de)(de)(de)(de)(de)開發人(ren)員喜(xi)歡使用(yong)短(duan)的(de)(de)(de)(de)(de)變量(liang)名,而(er)(er)不(bu)是(shi)(shi)有(you)含義的(de)(de)(de)(de)(de)變量(liang)名。這(zhe)主(zhu)要是(shi)(shi)因(yin)為我們大(da)(da)(da)學教(jiao)科(ke)書(shu)的(de)(de)(de)(de)(de)那(nei)(nei)些(xie)示例所(suo)造(zao)成的(de)(de)(de)(de)(de),人(ren)都是(shi)(shi)先(xian)入(ru)為主(zhu),所(suo)以(yi),教(jiao)科(ke)書(shu)中的(de)(de)(de)(de)(de)那(nei)(nei)些(xie)很(hen)抽象,帶著演示的(de)(de)(de)(de)(de)變量(liang)命名影響(xiang)了(le)我們一(yi)(yi)代(dai)又(you)一(yi)(yi)代(dai)的(de)(de)(de)(de)(de)程(cheng)序員,并影響(xiang)了(le)他們很(hen)多年。雖然那(nei)(nei)些(xie)短(duan)的(de)(de)(de)(de)(de),教(jiao)材式(shi)的(de)(de)(de)(de)(de)變量(liang)名,可(ke)能會(hui)讓(rang)你少打一(yi)(yi)些(xie)字(zi),但其實,這(zhe)是(shi)(shi)非(fei)常(chang)非(fei)常(chang)不(bu)好的(de)(de)(de)(de)(de)。因(yin)為軟件的(de)(de)(de)(de)(de)維護成本(ben)遠遠大(da)(da)(da)于了(le)軟件的(de)(de)(de)(de)(de)開發成本(ben),如果(guo)你不(bu)取一(yi)(yi)個(ge)好的(de)(de)(de)(de)(de)一(yi)(yi)點的(de)(de)(de)(de)(de)變量(liang)名,那(nei)(nei)么當(dang)進行(xing)(xing)代(dai)碼(ma)(ma)評審(shen)時,當(dang)進行(xing)(xing)bug fixing時,當(dang)進行(xing)(xing)代(dai)碼(ma)(ma)重構(gou)時,當(dang)進行(xing)(xing)代(dai)碼(ma)(ma)維護時,你的(de)(de)(de)(de)(de)某個(ge)變量(liang)名可(ke)能會(hui)讓(rang)你一(yi)(yi)頭霧水(shui),不(bu)知(zhi)道所(suo)措,還(huan)可(ke)以(yi)會(hui)讓(rang)你走入(ru)陷(xian)阱(jing),造(zao)成更(geng)大(da)(da)(da)的(de)(de)(de)(de)(de)時間(jian)成本(ben)。所(suo)以(yi),一(yi)(yi)個(ge)可(ke)閱讀(du)的(de)(de)(de)(de)(de)代(dai)碼(ma)(ma)必然和那(nei)(nei)些(xie)不(bu)錯的(de)(de)(de)(de)(de)變量(liang)名分不(bu)開,而(er)(er)這(zhe)也能讓(rang)你的(de)(de)(de)(de)(de)軟件間(jian)接上有(you)更(geng)好的(de)(de)(de)(de)(de)質量(liang)。

 

2.- 變量名不要太長,盡可能地簡短

只有簡(jian)單和簡(jian)短(duan)的變(bian)(bian)量名(ming)才(cai)是(shi)容易(yi)閱讀的。因為你(ni)的變(bian)(bian)量名(ming)一(yi)定(ding)會(hui)用(yong)于(yu)程(cheng)序語(yu)句中,所以(yi),為了讓(rang)你(ni)的程(cheng)序語(yu)句看(kan)起(qi)來的簡(jian)短(duan),你(ni)的變(bian)(bian)量名(ming)也應(ying)該短(duan)一(yi)點,不然寫出來的一(yi)個表達式就會(hui)顯得很(hen)復(fu)雜。

當(dang)然,在有(you)(you)些(xie)時(shi)候,一(yi)(yi)個有(you)(you)含義的(de)變(bian)量(liang)名和一(yi)(yi)個簡(jian)短的(de)變(bian)量(liang)名可能存在一(yi)(yi)些(xie)沖突。這相當(dang)鍛煉(lian)我(wo)們的(de)語(yu)言能力——如果(guo)有(you)(you)最精煉(lian)的(de)詞語(yu)來表達(da)最豐富的(de)含義。如果(guo)實在做不到,那么,取一(yi)(yi)個有(you)(you)含義的(de)變(bian)量(liang)名要比取一(yi)(yi)個簡(jian)短的(de)變(bian)量(liang)名更好一(yi)(yi)些(xie)。不管怎么樣,我(wo)們希望即簡(jian)短又有(you)(you)豐富的(de)含義,但如果(guo)不能兩(liang)全(quan),那有(you)(you)含義優(you)先級更高一(yi)(yi)些(xie)。

  • 壞的變量:howLonDoesItTakeToOpenTheDoor, howBigIsTheMaterial…
  • 好的變量:timeToOpenTheDoor, MaterialSize.

3.- 可以使用縮寫,但需要有一些注釋

有一些時候,我們需要使用一些縮寫來命名變量,比如:用usr來表示user,用gp來表示group,用conf來表示configuration,用cwd來表示current working directory,用ptr來代碼point to reference,等等,等等。縮寫一般要用在大家可以看得懂的,而不是為了縮寫而縮短一個單詞,當然,如果你把縮寫后的變量名加上注釋,那就更加穩妥了。關于一些約定俗成的縮寫,可參看本文的附錄一

4.- 使用合適的匈牙利命名規則

這里有一篇非常不錯的英文文章告訴你 《什么是合適的匈牙利命名 》,這篇文(wen)章同時還(huan)告(gao)訴(su)你如何去(qu)用他。基本(ben)上(shang)來說(shuo),匈(xiong)牙(ya)利(li)命名法(fa)主要是(shi)為變(bian)量加上(shang)某(mou)種前綴(zhui)以標識這個(ge)變(bian)量的類型(xing),或(huo)是(shi)一種方法(fa)的功能。其基本(ben)原則是(shi):變(bian)量名=屬性(xing)+類型(xing)+對象(xiang)描述。

比如:在描述類型方面:指針p,函數fn,長整型 l,布爾b,浮點型(有時也指文件)f,雙字 dw,字符串 sz,短整型 n,雙精度浮點 d,無符號 u……等等。關于更多的命名規范,請參見附錄二

注意,匈牙利(li)命(ming)名(ming)也是(shi)有(you)不(bu)好(hao)的(de)(de)(de)地方的(de)(de)(de),比如(ru)你要(yao)把一個整(zheng)形(xing)改(gai)成(cheng)一個浮點型(xing),你除了(le)要(yao)改(gai)變這個變量(liang)的(de)(de)(de)類型(xing),你還要(yao)改(gai)變這個變量(liang)的(de)(de)(de)名(ming)字。這是(shi)相(xiang)當麻(ma)煩的(de)(de)(de)。而且,在(zai)某些時候,這種前綴式的(de)(de)(de)命(ming)名(ming)可以反(fan)而讓你不(bu)知所措。另外,在(zai)C++中,有(you)了(le)類以后(hou),這種命(ming)名(ming)方法就顯得不(bu)容易去實施了(le)。所以,合適地使(shi)用(yong)匈牙利(li)命(ming)名(ming)方式背(bei)后(hou)的(de)(de)(de)思想是(shi)很(hen)關鍵的(de)(de)(de)。

5.- 不要使用反邏輯來命名

  • 好的命名:  IsEnabled.
  • 壞的命名: IsNotEnabled.

在(zai)閱讀的(de)時候,我們更喜(xi)歡正向的(de)邏輯,而不(bu)(bu)是反(fan)向邏輯。這(zhe)一(yi)規則不(bu)(bu)單單的(de)命名,在(zai)條件(jian)語(yu)句中(zhong),我們也是要(yao)盡量不(bu)(bu)要(yao)使用這(zhe)種反(fan)面的(de)邏輯。如:if (! (isAdmin || isUser)),這(zhe)樣(yang)的(de)語(yu)句很(hen)不(bu)(bu)符合人讀代(dai)碼的(de)習慣(guan),寫(xie)成這(zhe)樣(yang)會更好一(yi)些——if (!isAdmin && !isUser)。

6.- 保持一致性

保持所(suo)有(you)代(dai)碼的(de)一(yi)致性(xing)。使用相同的(de)命(ming)名(ming)(ming)規則(ze)。這外世界(jie)上(shang)沒有(you)最好的(de)命(ming)名(ming)(ming)規范。但有(you)一(yi)點是(shi)可(ke)以(yi)確認(ren)的(de),那就是(shi)在一(yi)個(ge)代(dai)碼庫中(zhong),應該使用一(yi)致的(de)命(ming)名(ming)(ming)規則(ze),即(ji)使這個(ge)規則(ze)不那么好,但整個(ge)團(tuan)隊(dui)使用一(yi)致的(de)就是(shi)好的(de)。

7.- 附和應用程序的領域術語

在(zai)不(bu)(bu)同的(de)領域(yu)中,不(bu)(bu)同的(de)觀念會有(you)非(fei)常特(te)別和不(bu)(bu)同的(de)意思(si)。例如:單(dan)詞(ci)“order”并不(bu)(bu)總是意味著“次順(shun)”,有(you)些(xie)(xie)(xie)時(shi)候,其意味著“訂(ding)單(dan)”,有(you)些(xie)(xie)(xie)時(shi)候,意味著“命令(ling)(ling)”,有(you)些(xie)(xie)(xie)時(shi)候,意為著“規則”。所以(yi),在(zai)某個領域(yu)中,某些(xie)(xie)(xie)單(dan)詞(ci)會有(you)不(bu)(bu)同的(de)含義,所以(yi),這需要我們的(de)命令(ling)(ling)去附和這些(xie)(xie)(xie)領域(yu)。

 

黃金法則- 花一些時間去思考去權衡一下你的變量名

當(dang)你設計好(hao)一(yi)(yi)(yi)個(ge)的(de)變量名(ming)一(yi)(yi)(yi)個(ge)函數(shu)名(ming)的(de)時候(hou),別著急去使(shi)用他,停下(xia)來,想一(yi)(yi)(yi)想,這個(ge)變量名(ming)是否合適,是否還(huan)有更(geng)好(hao)的(de)?也許你正在使(shi)用的(de)是一(yi)(yi)(yi)個(ge)很不(bu)好(hao)的(de)變量名(ming)。有些時候(hou),需(xu)要(yao)我們權(quan)衡利弊一(yi)(yi)(yi)下(xia),可能還(huan)要(yao)去和同事討論(lun)一(yi)(yi)(yi)下(xia)。

 總之,變量(liang)名(ming)是編程(cheng)的第一(yi)步(bu),第一(yi)步(bu)走好(hao)了,后(hou)面(mian)才走得好(hao)。試想,無論是你(ni)或你(ni)的同事在使(shi)用一(yi)些好(hao)的變量(liang)名(ming)編程(cheng)是一(yi)件多么(me)輕松的事啊(a)。

copyright © 江蘇易潤信息技術有限公司 版權所有