第三週做業

是否須要有代碼規範?

       對於不少「程序猿」來講,都有着一套只有本身才能看懂得代碼格式,相信每一個人都存有本身的觀點。好比:html

  1. 這些規範都是官僚制度下產生的浪費你們的編程時間、影響人們開發效率, 浪費時間的東西。
  2. 我是個藝術家,手藝人,我有本身的規範和原則。
  3. 規範不能強求一概,應該容許不少例外。
  4. 我擅長制定編碼規範,大家聽個人就行了。

       按我我的的觀點來講,我是反駁以上說法的。首先我對於文本的書寫十分注重排版和美觀,我認爲這就是本身一個「門面」,就像是人們常說的「字如其人」。再者,在軟件開發的整個生命同期中,均由最初的開發人員來維護的狀況幾乎是沒有的。因此說讓我換位到程序維護這一方來考慮,當你面對眼前「一坨坨」的代碼,相信都會忍不住吐槽:「這一坨坨都是個啥@#¥%#¥……」,隨後拂袖而去。程序員

       雖然說吐槽聲有如滔滔洪水,但建一座堤壩即可將其截流。Yes!it is 代碼規範化。提及代碼規範,首先要了解其意義。數據庫

是用來管理代碼格式和風格的文檔和規範,要求公司內部統一規範,其中包括:命名規則(數據庫字段,表名,存儲結構名、函數、變量、文件名等),每行字符數(編譯軟件每行顯示的字符數量,多少個字符換行),縮進的格式(tab仍是四個空格),函數的代碼行數等內容。編程

代碼規範同時包括了編碼風格和其它規範,不只僅指代碼格式。例如,像「返回成功/失敗的函數應該用一個整數做爲返回值」,這樣的規則不屬於編碼風格。架構

(一)論代碼規範的重要性

  1. 促進團隊進程。對於一個團隊內進行協同開發,程序的維護和複查是全隊成員的工做,若是開發人員堅持我的風格進行編寫,極可能會形成總體進度和延後。
  2. 下降維護成本。一個軟件的生命週期中,80%的花費在於維護,規範的代碼能夠減小編碼人員的理解時間,下降維護代價,易於進行二次開發。
  3. 可讀性加強。編碼規範能夠改善軟件的可讀性,可讓程序員儘快而完全地理解新代碼。
  4. 便於產品的發佈。若是你將源碼做爲產品發佈,須要按照規範,確認它是否被很好的打包而且清晰無誤。

(二)論代碼規範的實施性

  1. 代碼審查。會很大程度的改變程序猿們的編寫態度。若是你在編程,並且知道將會有同事檢查你的代碼,那麼你寫出的代碼將更加整潔,有更好的註釋,更好的程序結構。由於你知道,那個你很在乎的人將會查看你的程序。沒有代碼審查,你知道人們最終仍是會看你的程序。
  2. 基本的規範化制度。制度會約束堅持己見的人。
  3. 更正編寫習慣。儘早的改正本身的編寫習慣,將代碼規範化。

(三)論代碼規範的編寫指南

(1)排版規範編輯器

  1. 程序塊採用縮進,縮進空位爲4個。
  2. 分解符如「{」和「}」獨佔一行,而且位於同列。
  3. 較長的語句、表達式、參數要書寫多行。
  4. 一行只寫一條語句。
  5. if,for,do,while,case,switch,default 獨佔一行,且語句塊都要加「{ }」,不管語句多少。
  6. 相對獨立的業務語句塊之間,變量說明後加空行。
  7. 對齊只用空格不用TAB,避免不一樣編輯器對TAB處理不一樣。
  8. 對二個以上的關鍵字、變量、常量進行對等操做時,變量先後必須留空格。
  9. 類屬性和方法不用交叉放置,不一樣存取範圍的屬性或方法也不遠交叉放置。

(2)註釋規範函數

  1. 有代碼的地方就有註釋,杜絕沒有任何註釋的代碼,推薦註釋量在20%以上。
  2. 包的註釋:在包的當前路徑放入一名爲package.html的HTML文件,方面JavaDoc收集。註釋內容簡述本包的做用、內容、產品模塊、版本、版權等,如:文件註釋:文件開始,package 關鍵字前面,記載版權說明、描述信息、生成日期、修改歷史等。
  3. 類和接口的註釋:在package以後,class或interface以前,描述當前類或接口的功能,做者,生成日期,修改日誌,版本號等。
  4. 類屬性、方法註釋:在類或方法的前面,類屬性記載屬性的功能用處,用/* 開頭描述註釋,放置JavaDoc收集;類方法註釋須要記載方法的功能簡述、詳細、輸入參數、輸出值、拋出的異常、做者等。

注意事項編碼

  1. 包結構清晰,類、接口、方法、屬性命名貼切易懂。
  2. 該註釋的地方註釋,註釋清楚、易懂,沒有二義性。
  3. 接口定義明確,精確方法功能,每一個方法只實現一個功能。
  4. 方法內部的代碼行數控制在200行之內,一個類的代碼行數控制在1000行之內,若是你的類代碼在1000行以上,請從新思考設計思路,這裏說的代碼行數不把註釋計算在內。
  5. 多個方法內部若是有類似的功能代碼塊,應該提取爲公用方法。
  6. 儘可能將業務相近的方法放在一塊兒,便於尋找。
  7. 方法內部儘可能不要catch異常,讓外部調用者知道出錯細節。
  8. 方法內部對於對象參數的調用,儘可能判斷非null引用,除非你的設計能保證非空對象。
  9. 不用的數據及時是否,若是數據庫鏈接、集合、共享鎖等。
  10. 不要使用技巧性比較高的表達式。

       規範的代碼有利於幫助咱們理解開發語言的架構,也可以快速提高開發水平,因此更要注重基礎習慣的養成。設計

相關文章
相關標籤/搜索