代碼規(guī)范----名字(把信息裝入名字中、選擇不被誤解的名字)


一双饥、把信息裝入名字中

1.選擇專業(yè)的詞

例1:使用getPage getName getData而不是單單是get這種空洞的詞,更深來說可以用fetch()示启、download()這種詞更好兢哭。

例2:

class BinaryTree{
int size();
}

這里的size就是不明確的,沒有承載很多信息夫嗓。我們需要更專業(yè)的詞比如height();nodeNum();等

例3:

class Thread{
void stop();
}

對于stop我們也可以用更專業(yè)的詞講其具體化:比如pause() 迟螺、kill()、resume()

例4:找到更有表現(xiàn)力的詞

比如對于發(fā)送send ,我們在不同情況下也可以使用不同的的詞去更有表現(xiàn)力的表達(dá)舍咖。
在向下分發(fā)的時候可以使用dispatch矩父,分配可以使用distibute,還有deliver排霉,route等同樣都是發(fā)送卻??不同的表達(dá)力窍株。
像start也有很多同義詞,create攻柠、launch球订、begin、open等

2.避免泛泛的名字

像tmp retval瑰钮,除非使用它們有特殊的理由
retval 就是表達(dá)一個沒有很多信息的返回值
tmp這個名字只應(yīng)用于短期存在且臨時性為其主要存在因素的變量
對于 i,j,k這種可以表達(dá)式迭代器的使用冒滩,但是如果迭代器參數(shù)較多,可以更精確點浪谴,比如
if(club[ci].members[mi]==users[ui])
對于空泛名字开睡,不是說不能使用,是要有一個理由苟耻。

3.用具體的名字代表抽象的名字

ServerCanStart()就不如CanListenrOnPort好

4.使用前綴和后綴來給名字附帶更多的信息

為名字附帶更多的信息:

  • 帶單位的值
    start --start_ms
    size--size_mb
    limit--max_kbps
  • 附屬你想表達(dá)的其他重要的屬性
    html---html_utf8
    password----plaintext_password
  • 匈牙利表示法是一個在微軟廣泛應(yīng)用的命名系統(tǒng)篇恒,它把每個變量的類型信息都編寫進(jìn)名字的前綴里,
    比如pLast 表達(dá)某數(shù)據(jù)結(jié)構(gòu)最后一個元素的指針p
    比如cch 表達(dá)一個字符ch的計數(shù)count
    比如psz表達(dá)一個以零結(jié)尾zero的字符串s的指針p

5.決定名字的長度

名字的長短應(yīng)該和這個變量如何使用有關(guān)系凶杖。

  • 在小的作用域可以使用短的名字胁艰,而如果一個標(biāo)識符有較大的作用域,那么它的名字就要包含足夠的信息以便含義更清楚。
    比如一個變量的作用域在一個方法內(nèi)蝗茁,它是允許不用帶上太多信息的醋虏。因為所有的信息(變量類型,初值等)都很容易被看到哮翘,所以可以用很短的名字
    而如果定義的m只是一個全局變量中的類成員,那就不容易讀了毛秘。
  • 首字母縮略詞和縮寫
    BEManager--BackEndManager 對于這種縮寫是會讓人費(fèi)解的饭寺,讓新成員閱讀這種可能會不理解,所以要保證對于縮寫的使用別人的易讀的叫挟。
    而doc替代document
    str代替string 這種就是可以的艰匙,
  • 丟掉沒用的詞
    ConvertToString()----ToString()這樣有時名字中的某些詞拿掉也不會損失任何信息就可以丟掉這種詞

6.利用名字的格式來表達(dá)含義

類:名詞,采用大駝峰命名法--所有單詞的第一個字母大寫,盡量避免縮寫抹恳。ActivityManager
方法:動詞或動名詞员凝,采用小駝峰命名法,除首單詞外奋献,其余所有單詞的第一個字母大寫
例如 onCreate()
變量:小駝峰命名法健霹,可把統(tǒng)一的量詞放在結(jié)尾處。
常量:下劃線命名法瓶蚂,MIN_WIDTH


二糖埋、不會被誤解的名字

不會被誤解的名字是最好的名字,讓閱讀代碼的人理解本意窃这,不會有其他歧義瞳别。
例子1:filter("age<20");這就會讓人誤解,是挑出年齡小于20的還是把小于20的去掉 同樣的還有l(wèi)imit
例子2:clip(text,lenght)---truncate(text,max_chars) length 也是會有歧義的 是字節(jié)數(shù)杭攻、字符數(shù)還是字?jǐn)?shù)祟敛。

  • 用min和max來表示包含極限 大于等于 少于等于 max_ min_ 是很好的前綴
  • 用first和last來表示包含的范圍
  • 用begin和end來表示包含/排除范圍
  • 布爾值命名 通常來講:加上像is、has兆解、can馆铁、should這樣的詞,可以把布爾值變得更明確痪宰。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末叼架,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子衣撬,更是在濱河造成了極大的恐慌乖订,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件具练,死亡現(xiàn)場離奇詭異乍构,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進(jìn)店門哥遮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來岂丘,“玉大人,你說我怎么就攤上這事眠饮“铝保” “怎么了?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵仪召,是天一觀的道長寨蹋。 經(jīng)常有香客問我,道長扔茅,這世上最難降的妖魔是什么已旧? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮召娜,結(jié)果婚禮上运褪,老公的妹妹穿的比我還像新娘。我一直安慰自己玖瘸,他們只是感情好秸讹,可當(dāng)我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著店读,像睡著了一般嗦枢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上屯断,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天文虏,我揣著相機(jī)與錄音,去河邊找鬼殖演。 笑死氧秘,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的趴久。 我是一名探鬼主播丸相,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼彼棍!你這毒婦竟也來了灭忠?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤座硕,失蹤者是張志新(化名)和其女友劉穎弛作,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體华匾,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡映琳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片萨西。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡有鹿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出谎脯,到底是詐尸還是另有隱情葱跋,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布穿肄,位于F島的核電站年局,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏咸产。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一仲闽、第九天 我趴在偏房一處隱蔽的房頂上張望脑溢。 院中可真熱鬧,春花似錦赖欣、人聲如沸屑彻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽社牲。三九已至,卻和暖如春悴了,著一層夾襖步出監(jiān)牢的瞬間搏恤,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工湃交, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留熟空,地道東北人。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓搞莺,卻偏偏與公主長得像息罗,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子才沧,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容

  • iOS編程規(guī)范0規(guī)范 0.1前言 為??高產(chǎn)品代碼質(zhì)量,指導(dǎo)廣大軟件開發(fā)人員編寫出簡潔迈喉、可維護(hù)、可靠温圆、可 測試挨摸、高效...
    iOS行者閱讀 4,464評論 21 35
  • 推薦文章:禪與 Objective-C 編程藝 前言 為??高產(chǎn)品代碼質(zhì)量,指導(dǎo)廣大軟件開發(fā)人員編寫出簡潔、可維護(hù)捌木、...
    WolfTin閱讀 2,769評論 0 1
  • 1油坝、引言 數(shù)據(jù)庫設(shè)計過程中表、字段等的命名規(guī)范也算是設(shè)計規(guī)范的一部分,不過設(shè)計規(guī)范更多的是為了確保數(shù)據(jù)庫設(shè)計的合理...
    SnowflakeCloud閱讀 41,017評論 0 48
  • 我覺得作為一個iOS開發(fā)肯定遇到過一個問題,使用tableView的HeadView瞬女,這個控件是很好用的窍帝,因為他讓...
    貓見證閱讀 346評論 0 1
  • 屌絲,用搜狗輸入法在鍵盤上敲打六下即可映入眼簾诽偷,但在敲打鍵盤的時候坤学,我在想用一個什么樣的語句解釋屌絲這個當(dāng)下異常火...
    西岳頑石閱讀 511評論 1 4