java程式碼規範有什麼意義
前言
作為一名軟體開發人員,我們需要做到統一規範,統一格式。目的是為了方便閱讀、維護,提高程式碼質量。統一格式,使程式碼度量更加精確,為公司軟體過程體系最佳化打好基礎,為後續交接工作提供依據。
程式碼規範有什麼意義
1.一個軟體的生命週期中,80%的花費在於維護,程式碼規範降低了金錢成本和時間成本;
2.幾乎沒有任何一個軟體,在其整個生命週期中,均由最初的開發人員來維護,程式碼規
範減少了工作交接過程中的交流成本。
3.規範可以改善軟體的可讀性,可以讓程式設計師儘快而徹底地理解新的設計和程式碼,節約
了時間,提高了工作效率。
4.良好的編碼規範可以有效避免一些低階錯誤,贏得同事的誇獎和上司的認可。
個人經歷
我在前段時間由於一級考試任務比較繁多,所以卓腦這邊的專案需要交接一下,然後我就簡單的跟她們溝通一下我負責的模組,之後她們找過我幾次,因為的程式碼有好多沒寫註釋,導致她們沒有看懂。MT4實際操作所以如果我能把每行程式碼都寫上註釋,
能做到程式碼規範,將會減少交接過程中的交流成本,還能節省出更多時間,學習其它的內容。
命名規範
1.名字應該能夠標識事物的特性,並且與業務掛鉤。
2.名字一律使用英文單詞,而不能為拼音。
3.名字可以有兩個或三個單片語成,但不應多於4個,控制在3至30個字母以內。
4.在名字中,多個單詞用大寫第一個字母(其它字母小寫)來分隔。例如:IsSuperUser。
5.命名避免和以下關鍵字衝突
如:Base,Date,Class……
6.方法名、引數名統一使用駝峰命名法(Camel命名法),除首字母外,其他單詞的首字
母大寫,其他字母小寫,類名每個組合的單詞都要大寫;
正例:localValue/getHttpMessage()/inputUserId
註釋規範
1.一般情況下,源程式的有效註釋量必須在30%以上。
2.避免使用裝飾性內容,保持註釋的簡潔。
3.註釋資訊不僅要包括程式碼的功能,還應給出原因,不要為註釋而註釋。
4.除變數定義等較短語句的註釋可用行尾註釋外,其他註釋當避免使用行尾註釋。
5.註釋型別:javadoc註釋,失效程式碼註釋(eclipse下ctrl+shift+/),程式碼細節註釋//。
6.對類、方法、變數等的註釋需要符合JavaDoc規範,對每個類、方法都應詳細說明其
功能、條件、引數等,並使用良好的HTML標記
7.格式化註釋,以使生成的JavaDoc易閱讀和理解。
8.如果註釋太複雜說明程式需要修改調整,使設計更加合理。
9.getter、setter方法不用註釋
10.註釋不能巢狀
11.生成開發文件的需要用中文編寫
12.如果需要註釋的內容太多,需附加文件進行說明,註釋時加上"參見《****》"
13.距離較遠的}必須註釋
14.複雜的分支流程必須註釋
15.程式碼質量不高但能正常執行,或者還沒有實現的程式碼用//TODO:宣告
16.存在錯誤隱患的程式碼用//FIXME:宣告
語句規則
原則:
1.統一使用Eclipse格式化工具進行格式化,預設快捷鍵:Ctrl+Shift+F
2.儘量避免強制型別轉換。如果不得不做型別轉換,儘量用顯式方式。
3.Ifelse中的業務程式碼行數太長,否則就要考慮用函式封裝
4.避免在表示式中用賦值語句
5.避免對浮點型別做等於或不等於判斷
6.杜絕魔法數字,for迴圈的最大數等也要用變數代替,以便知道是什麼含義
7.物件比較運算,常量放在前面,比如"aaa".equals(str)
8.Boolean的"假"判斷格式:if(false==isMax)而不用if(!isMax),因為非符號"!"不
清晰
9.如果一段帶有業務邏輯的程式碼超過兩次用到,就將其封裝成一個方法
10.單個迴圈也要用{}
11.每個變數僅有一個唯一的用途
12.單個函式執行單個功能並與其命名相符
13.消除所有編譯器警告
14.常數變數宣告為final
15.每個if-elseif-else語句都有最後一個else以確保處理了全集
16.對於流操作程式碼的異常捕獲有finally操作以關閉流物件,比如:
17.對同步物件的遍歷訪問必須進行程式碼同步處理
18.在對Map物件使用迭代遍歷過程中保證沒有做增減元素操作
19.Ifelse判斷語句避免頭重腳輕,比如if的程式碼段過大,else的程式碼很短,這時候要調
整結構。
20.每一行最多包含一條語句。
迴圈語句:
1.務必檢查,杜絕死迴圈
2.即使迴圈體只有一條語句,也要用花括號括起
3.儘量不用空語句,特殊情況用到空語句,寫好註釋,告訴讀者這不是bug
4.迴圈中禁止使用訪問資料庫的操作,迴圈內部如果需與資料庫互動,而應提前一次性
讀取出。
比如:Switch-case
1.語句switch中的每個case各佔一行。
2.所有的非空case語句必須用break;語句結束。例:
3.語句switch中的case按字母順序排列。
4.為所有switch語句提供default分支。
編碼風格規則
編碼過程中需遵循以下風格習慣:
1.程式碼未寫,文件先行,註釋必須按照固定統一正規化撰寫。
2.關係運算必須常量在左、變數在右。
3.不許使用複雜的運算表示式,必要時新增括號而不依賴於優先順序。
4.區域性變數必須初定義、避免不必要的記憶體操作、記憶體操作必須考慮異常處理。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2672158/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java 程式碼規範if巢狀Java巢狀
- 資料安全是指什麼?有什麼意義?
- PHP 規範 - Symfony 程式碼規範PHP
- 程式碼規範之前端編寫碼規範前端
- 理解資料庫規範化的意義ZI資料庫
- json轉物件(沒有什麼實際意義)JSON物件
- Less程式碼規範
- css程式碼規範CSS
- 程式碼分支規範
- iOS程式碼規範iOS
- 程式碼規範整理
- JS程式碼規範JS
- Esac代表什麼意義?
- 亮化工程改善城市夜景有什麼重要意義
- CSS 程式碼格式規範CSS
- Git程式碼提交規範Git
- [C#] 程式碼規範C#
- 大廠程式碼規範
- 程式碼規範淺談
- Android 程式碼規範大全Android
- 常見的Git 程式碼提交規範,feat、fix、style都是什麼意思?Git
- Java語言編碼規範Java
- XCMP 的意義是什麼?
- 關於 Google 釋出的 JS 程式碼規範,你需要了解什麼?GoJS
- 程式設計師你為什麼這麼累? - Controller規範程式設計師Controller
- 程式設計師你為什麼這麼累? - 配置規範程式設計師
- 如何通俗理解信創國產化是什麼意思?有哪些系統?有什麼意義?
- HTML 程式碼註釋規範HTML
- JavaScript寫程式碼要規範JavaScript
- Airbnb JavaScript程式碼規範(完整)AIJavaScript
- python 程式設計規範有哪些?Python程式設計
- Java語言編碼規範(Java Code Conventions)Java
- 有了這些你們團隊的程式碼肯定規範
- 什麼是程式碼審計?程式碼審計有什麼好處?
- 前端工程程式碼規範(四)——JS前端JS
- 前端工程程式碼規範(二)——HTML前端HTML
- Python程式碼規範性檢測Python
- Vue eslint 團隊程式碼規範VueEsLint