歡迎光臨
每天分享高質量文章

Android 你不能忽略的代碼命名規範

作者:Carson_Ho

鏈接:https://www.jianshu.com/p/b7a644ea0d25

  • Android代碼規範內容非常多,但對我們最有用& 最有影響的莫過於  Android代碼的命名規範

  • 可是,有很多人容易忽略Android代碼的命名規範,從而導致代碼的可讀性 & 維護性非常差,最終導致開發效率 & 維護效率降低

  • 今天,我將根據 Google Java 編程規範 &  Google 官方 Android 編碼規範,為大家帶來一份全面 & 清晰的Android代碼命名規範,希望你們會喜歡。


  • http://www.hawstein.com/posts/google-java-style.html

  • http://www.360sdn.com/2013/android_0517/144.html

目錄


1、為什麼 規範 Android 代碼命名?

  • 增強代碼的可讀性

  • 增強代碼的可維護性


正由於上述兩個作用,從而使得 開發效率 & 維護效率 得到大幅度的提高。

2、Android需要命名的代碼(物件)有哪些?

3、具體命名規範

下麵,我將對 Android 代碼物件中的命名規範進行詳細講解


註:由於  Android主要用Java實現,所以Android規範會涵蓋部分Java規範


3.1 包


基礎規則:小寫、單詞間連續無間隔、反域名法(分為4級,具體如下圖)


    第4級包名會隨著功能的不同而不同。下麵我列舉出一些常見 & 需要規範的4級功能包名


    3.2 類


    基礎規則

    1、型別 = 名詞 / 名詞短語;

    2、形式 = 駝峰形式中的 大駱駝拼寫法(UpperCamelCase)


    即名稱中的每個詞的首字母都大寫,如 AndroidStudio


    在具體命名類時,會根據 該類的型別不同而附加額外的命名規則。


    具體如下圖:

    3.3 變數


    基礎規則

    1、型別 = 名詞 / 名詞短語;

    2、形式 = 駝峰形式中的 小駱駝拼寫法(LowerCamelCase)


    即名稱中的第1個詞的首字母小寫,後面每個詞的首字母大寫,如androidStudioTool


    在具體命名變數時,會根據該變數的型別不同而 附加額外的命名規則。


    具體如下圖:

    3.4 方法


    基礎規則

    1、型別 = 動詞 / 動詞短語;

    2、形式 = 駝峰形式中的 小駱駝拼寫法(LowerCamelCase


    即名稱中的第1個詞的首字母小寫,後面每個詞的首字母大寫,如androidStudioTool


    在具體命名 方法名時,會根據 該方法名的作用不同而 附加額外的命名規則。


    具體如下圖

    3.5 引數名


    基礎規則:

    駝峰形式中的 小駱駝拼寫法(LowerCamelCase)


    即名稱中的第1個詞的首字母小寫,後面每個詞的首字母大寫,如androidStudioTool


    附加命名規則:


    功能名,如userName


    3.6 資源


    Android的資源包括:


    下麵,我將對每種Android資源的命名規則進行詳細講解


    3.6.1 佈局檔案資源


    3.6.2 圖片資源


    3.6.3 引數值資源


    3.6.4 動畫資源


    3.7 額外


    除了上述的命名規範以外,Android 中還有一些全域性通用的命名規範:


    至此,關於Android的代碼命名規範講解完畢

    4、附錄:常見使用單詞縮寫表

    使用單詞縮寫的原則:只使用約定俗成的單詞縮寫


    嚴禁自由縮寫單詞


    具體如下圖

    總結

    看完本文後,相信你以後會認真對待 Android代碼命名了!


    下麵我將繼續對Android中的其他代碼規範進行深入講解 ,有興趣可以繼續關註Carson_Ho的安卓開發筆記

    https://www.jianshu.com/u/383970bef0a0



    ●編號352,輸入編號直達本文

    ●輸入m獲取到文章目錄

    推薦↓↓↓

    Java編程

    更多推薦18個技術類公眾微信

    涵蓋:程式人生、演算法與資料結構、黑客技術與網絡安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。

赞(0)

分享創造快樂