clean code筆記4:格式

格式規(guī)范

 好的代碼格式果善,意味著代碼的整潔和對(duì)細(xì)節(jié)的關(guān)注。
  • 如果是在團(tuán)隊(duì)中工作成肘,則團(tuán)隊(duì)?wèi)?yīng)該一致同意采用一套簡(jiǎn)單的格式規(guī)則酗昼,所有成員都要遵守,并且貫徹塘偎。使用能幫助你應(yīng)用這些格式規(guī)則的自動(dòng)化工具也很有幫助。

格式的目的

  • 先要明確一下,代碼格式很重要言秸。因?yàn)?strong>格式關(guān)乎溝通,而溝通是專業(yè)開(kāi)發(fā)者的頭等大事迎捺。
  • 或許你認(rèn)為讓代碼能工作才是專業(yè)開(kāi)發(fā)者的頭等大事举畸。但是實(shí)際上,修改和維護(hù)代碼才是開(kāi)發(fā)者花時(shí)間花得最多的地方凳枝。只有擁有良好的代碼格式抄沮,代碼的可讀性才會(huì)增加,這對(duì)日后修改和維護(hù)產(chǎn)生深遠(yuǎn)影響岖瑰。

垂直格式

  1. 像報(bào)紙學(xué)習(xí)叛买。源文件要像報(bào)紙文章一樣,名稱如同標(biāo)題一樣蹋订,簡(jiǎn)單且一目了然率挣。源文件最頂部應(yīng)該給出高層次概念和算法,細(xì)節(jié)應(yīng)該往下漸次展開(kāi)露戒。
  2. 在不同的思路之間的代碼以空白號(hào)為分隔椒功。因?yàn)槊總€(gè)空白行都是一條線索捶箱,標(biāo)識(shí)出新的獨(dú)立概念,往下讀代碼時(shí)你的目光动漾,總會(huì)停留在空白行之后那一行丁屎,而且這樣是代碼,思路更清晰更易懂旱眯。
  3. 靠近的代碼行則暗示了他們之間的緊密關(guān)系悦屏,緊密相關(guān)的代碼應(yīng)該相互靠近。

垂直距離

  • 變量聲明盡可能靠近其使用位置键思。
  • 關(guān)系密切的概念础爬,不要放到不同文件中。
  • 概念相關(guān)的代碼應(yīng)該放到一起吼鳞,相關(guān)性越強(qiáng)看蚜,彼此之間的距離就該越短。
  • 循環(huán)中的控制變量(for(int i...))赔桌,應(yīng)該總是在循環(huán)語(yǔ)句中聲明供炎。
  • 類的屬性變量應(yīng)該全部在類的頂部聲明,而不是東一個(gè)西一個(gè)疾党,使人很難找到音诫。
  • 若某個(gè)函數(shù)調(diào)用另一個(gè),就應(yīng)當(dāng)把他們放在一起雪位。

垂直順序

  • 最上面的代碼應(yīng)該是最抽象的竭钝,底部細(xì)節(jié)應(yīng)該在下面實(shí)現(xiàn)。這樣就能像報(bào)紙文章一樣雹洗,最重要的概念在最前面香罐,底部細(xì)節(jié)最后才會(huì)出來(lái)。

橫向格式

一行的上限是120個(gè)字符时肿。短代碼行庇茫,利于理解,所以應(yīng)該盡力保持代碼行短小(在30個(gè)字符以內(nèi))
  1. 水平方向上的區(qū)隔與靠近螃成。在賦值操作符周圍加上空格字符達(dá)到強(qiáng)調(diào)目的(a = 2而不是a=2)旦签。
  2. 水平對(duì)齊。不需要無(wú)意義的水平對(duì)齊寸宏,比如在那類里面聲明屬性的時(shí)候宁炫,那些無(wú)意義的水平對(duì)齊會(huì)在強(qiáng)調(diào)不重要的東西,會(huì)把讀者的目光從真正的意義上拉開(kāi)击吱。

縮進(jìn)

if淋淀,while遥昧,函數(shù)后面都應(yīng)該加上縮進(jìn)覆醇。違反縮進(jìn)規(guī)則的代碼朵纷,通常可讀性極差永脓。

團(tuán)隊(duì)規(guī)則

每個(gè)程序員都要自己喜歡的格式規(guī)則袍辞,但如果在一個(gè)團(tuán)隊(duì)中工作,就必須是團(tuán)隊(duì)說(shuō)了算常摧。
  • 一組開(kāi)發(fā)者應(yīng)當(dāng)認(rèn)同一種格式風(fēng)格搅吁,啟動(dòng)項(xiàng)目之前制定一套編碼風(fēng)格,所花時(shí)間很短落午,卻能為為以后閱讀他人代碼谎懦、團(tuán)隊(duì)合作提供了巨大的便捷,并且整個(gè)軟件系統(tǒng)是由一系列讀起來(lái)的不錯(cuò)的溃斋,代碼風(fēng)格統(tǒng)一的代碼文件組成界拦。絕對(duì)不要用各種不同的風(fēng)格來(lái)編寫(xiě)源代碼,這樣會(huì)增加其復(fù)雜度梗劫。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末享甸,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子梳侨,更是在濱河造成了極大的恐慌蛉威,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件走哺,死亡現(xiàn)場(chǎng)離奇詭異蚯嫌,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)丙躏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)齐帚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人彼哼,你說(shuō)我怎么就攤上這事对妄。” “怎么了敢朱?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵剪菱,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我拴签,道長(zhǎng)孝常,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任蚓哩,我火速辦了婚禮构灸,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘岸梨。我一直安慰自己喜颁,他們只是感情好稠氮,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著半开,像睡著了一般隔披。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上寂拆,一...
    開(kāi)封第一講書(shū)人閱讀 49,144評(píng)論 1 285
  • 那天奢米,我揣著相機(jī)與錄音,去河邊找鬼纠永。 笑死鬓长,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的尝江。 我是一名探鬼主播痢士,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼茂装!你這毒婦竟也來(lái)了怠蹂?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤少态,失蹤者是張志新(化名)和其女友劉穎城侧,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體彼妻,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嫌佑,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了侨歉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片屋摇。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖幽邓,靈堂內(nèi)的尸體忽然破棺而出炮温,到底是詐尸還是另有隱情,我是刑警寧澤牵舵,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布柒啤,位于F島的核電站,受9級(jí)特大地震影響畸颅,放射性物質(zhì)發(fā)生泄漏担巩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一没炒、第九天 我趴在偏房一處隱蔽的房頂上張望涛癌。 院中可真熱鬧,春花似錦、人聲如沸拳话。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)假颇。三九已至,卻和暖如春骨稿,著一層夾襖步出監(jiān)牢的瞬間笨鸡,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工坦冠, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留形耗,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓辙浑,卻偏偏與公主長(zhǎng)得像激涤,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子判呕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

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

  • _注:正文中的引用是直接引用作者Bob大叔的話倦踢,兩條橫線中間的段落的是我自己的觀點(diǎn),其他大約都可以算是筆記了侠草。 _...
    TheAlchemist閱讀 1,293評(píng)論 9 11
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,522評(píng)論 25 707
  • 外貌對(duì)一個(gè)人來(lái)說(shuō)是否重要辱挥?不知道,但就我自身而言边涕,當(dāng)我判斷一個(gè)陌生人時(shí)挺看重晤碘,觀察對(duì)方的五官,穿著功蜓,形體氣質(zhì)最后是...
    fish人魚(yú)朵朵閱讀 240評(píng)論 0 1
  • 7:20分园爷,鬧鐘響了。關(guān)掉鬧鐘式撼,打開(kāi)音樂(lè)播放器童社,起床。 美好的一天開(kāi)始了著隆。 伴隨著喜歡的旋律叠洗,刷牙洗臉。換下睡衣旅东,...
    阿拉小姐閱讀 235評(píng)論 0 0
  • 許小小將鑰匙插進(jìn)門(mén)里轉(zhuǎn)了兩圈灭抑,進(jìn)了門(mén)將書(shū)包往沙發(fā)上一扔,索性客廳的燈也懶得開(kāi)抵代,踩著拖鞋就回自己房間了腾节。要說(shuō)新學(xué)期的...
    小樓今夜可東風(fēng)閱讀 467評(píng)論 0 0