中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

編碼風(fēng)格不是編碼規(guī)范

  英文原文:The conventions we follow

  我并不認(rèn)為程序員是一個(gè)情緒特別豐富的群體。但有一些事情卻能很容易刺激程序員的神經(jīng),那就是代碼格式和布局(formatting and layout of code)。如果看到一個(gè)函數(shù)的括弧在同一行上沒有閉合,我的眼睛會(huì)噴血。如果看到有人沒有恰好的在兩個(gè)函數(shù)間留一空行,我的小腿會(huì)抽筋。但重點(diǎn)在這里——除非是在家里開發(fā)自己的業(yè)余愛好軟件,我的這些個(gè)人喜好其實(shí)是無關(guān)緊要的。同樣,作為一個(gè)團(tuán)隊(duì)中的一員,你的個(gè)人編程喜好也應(yīng)該放到一邊。

  編碼風(fēng)格(coding style)很容易會(huì)和編碼規(guī)范(coding standard)混為一談,因?yàn)檫@兩個(gè)詞經(jīng)常會(huì)被人換著使用。我認(rèn)為,編碼規(guī)范同時(shí)包括了編碼風(fēng)格和其它規(guī)范,不僅僅指代碼格式。例如,像“返回成功/失敗的函數(shù)應(yīng)該用一個(gè)整數(shù)作為返回值”,這樣的規(guī)則不屬于編碼風(fēng)格。在這篇文章中,編碼風(fēng)格簡單的指一個(gè)描述如何格式化代碼的說明。編碼風(fēng)格中的規(guī)則通常會(huì)涉及到下面這些主題:

  • 縮進(jìn)
  • 空格的使用
  • Tab的使用
  • 注釋
  • 命名習(xí)慣
  • 代碼行長度
  • 語言特點(diǎn)風(fēng)格,例如是否使用可有可無的分號(hào)。

  編碼風(fēng)格都是為特定的編程語言制定的,可以把它們看作“我們共同的約定”。如果在你的公司里,在你在時(shí),在這些事情正在制定完成,你可以提出你的喜好,那你是幸運(yùn)。但通常情況是,一種編碼風(fēng)格在其生命期里看著無數(shù)的程序員來了又走了。在我的眼里,遵守編碼風(fēng)格有下面三個(gè)主要好處:

  1. 遵守編碼風(fēng)格使代碼更容易維護(hù)

  今天由這個(gè)程序員實(shí)現(xiàn)的軟件,明天可能需要另外一個(gè)程序員維護(hù)。如果所有代碼中大家使用同一種編碼風(fēng)格,這另外一個(gè)程序員快速的掃一眼陌生的代碼,就能根據(jù)大家約定的編程習(xí)慣,推斷出代碼的作用。如果編碼風(fēng)格中指明常量應(yīng)該全用大寫字母表示,那么,當(dāng)看到一個(gè)全是大寫字母的變量時(shí),你就能推斷出它是常量。同樣的,如果編碼風(fēng)格中規(guī)定包的引入要有順序,那你立刻就能知道去哪里找這些包。這使得代碼很容易維護(hù)。

  2. 編碼風(fēng)格使形成代碼集體所有制

  代碼集體所有制意味著全體程序員要負(fù)責(zé)所有代碼。集體所有制的作用很大,它能有效的增大巴士因子——一個(gè)項(xiàng)目能承受多少個(gè)程序員被車撞了而不影響項(xiàng)目的正常進(jìn)行。在整個(gè)代碼庫中堅(jiān)持延用一種常用的編碼風(fēng)格,所以程序員都能更容易的理解、維護(hù)。

  相反,如果在一個(gè)大型的軟件項(xiàng)目中,每個(gè)程序員都使用自己的編碼風(fēng)格,最終會(huì)引起一場維護(hù)版圖的戰(zhàn)爭,就像動(dòng)物世界里我們的這些朋友:

氣味記號(hào)(也稱噴灑尿液或領(lǐng)土記號(hào))是動(dòng)物標(biāo)記自己領(lǐng)土范圍的一種行為。通常是通過留下具有強(qiáng)烈氣味的物質(zhì)來完成,很多時(shí)候是通過在領(lǐng)土中突出的物體上小便。- 維基百科

  個(gè)人編碼風(fēng)格就像是狗撒尿,留下自己的勢力記號(hào)。他們?cè)诖a中留下自己的符號(hào),在程序員之間創(chuàng)造壁壘。

  3. 編碼風(fēng)格能消除那些長久的紛爭

  每個(gè)程序員都對(duì)編碼風(fēng)格有強(qiáng)烈的自我認(rèn)同。這種感覺深植于每個(gè)人的自負(fù)中,每當(dāng)和同事遇到是否應(yīng)該在關(guān)鍵詞周圍使用空格時(shí),這種討論很容易升級(jí)而僵持不下。但是,靜下來想想——這真的無所謂。不管是不是在關(guān)鍵詞周圍使用了空格,只要能達(dá)成一致,大家都能從中獲得易維護(hù)和集體所有制的好處。在這種情況中,閉著眼睛,遵循一種編碼風(fēng)格就行了。

  你不需要喜歡這種編碼風(fēng)格。如果你不喜歡里面的某條規(guī)定,那就罵幾句這個(gè)文檔,只向文檔發(fā)脾氣,就像人類遷怒于上帝。然后還是按照約定做事。這樣做更具有建設(shè)性,比無休無止的吵論這些不重要的事情好的多。

  有了一套編碼風(fēng)格并不一定會(huì)給你帶來好處——除非大家都遵守。有些時(shí)候,你并不一定需要手工去調(diào)整代碼。很多的程序編程器,例如Eclipse,能配置幫你格式化代碼,使其符合編碼風(fēng)格。即使你的編輯器沒有這種功能,很多其它工具也能夠自動(dòng)按照某種風(fēng)格格式化一個(gè)文件。在我們的團(tuán)隊(duì)中,我們使用 indent 和 uncrustify 工具。我還聽說過一些其它好東西,比如ReSharper。那些不能被自動(dòng)實(shí)施的規(guī)則,例如命名習(xí)慣,可以在代碼審查的過程中落實(shí)。

it知識(shí)庫編碼風(fēng)格不是編碼規(guī)范,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久一级 | 亚洲一区在线播放 | 日韩在线免费视频 | 日韩毛片免费看 | 欧美日韩大陆 | 国产精品成人一区 | 精品在线一区 | 看片wwwwwwwwwww| 日韩中文字幕在线视频 | 狠狠操狠狠操 | 91亚洲国产成人精品一区二三 | 亚洲va国产日韩欧美精品色婷婷 | 亚洲av毛片成人精品 | 嫩草视频网站 | 丝袜美腿一区 | 亚洲欧美日韩在线不卡 | 一区二区三区电影在线观看 | 国产精品久久久久久 | 免费一区二区 | 日日干日日 | 97碰碰碰 | 天天综合日日夜夜 | www.日日夜夜 | 亚洲国产成人精品女人 | 日本中出视频 | 麻豆一区二区三区精品视频 | 中文一区| 欧美天堂| 久久国产精品99久久久久久丝袜 | 91麻豆精品国产91久久久资源速度 | 精品欧美乱码久久久久久 | 日韩在线免费视频 | 亚洲激情一区二区三区 | 国产成人一区二区 | 免费a在线| 给我免费的视频在线观看 | 久久青 | 在线观看日韩av | 99re在线视频 | 成人一级视频在线观看 | 久久成人免费视频 |