Android編程開發規范

jopen 10年前發布 | 12K 次閱讀 Android開發 移動開發

約定

  • Activity.onCreate(),Fragment.onActivityCreated(),作為程序入口,不用寫入太多代碼,盡量保持只調用initXXX()方法,簡單明了展示調用過程。如:initData(),initView()。
  • 單個方法體不要過長
  • 代碼任何地方不要拼錯單詞
  • 杜絕整個類代碼格式化
  • 調用方法保持“臨近原則”,被調用的方法,放在調用方法下方
  • 統一調整IDE的Tab縮進為4個空格
  • 空行的使用,拒絕拖沓無分割,關聯代碼段放一塊并與后面代碼分割
  • 用好TODO標記

    • 記錄想法,記錄功能點,開發過程中可以利用TODO記錄一下臨時想法或為了不打擾思路留下待完善的說明
    • 刪除無用TODO,開發工具自動生成的TODO,或則已經完善的TODO,一定要刪除。
    • </ul> </li>

    • 處理“魔數”等看不懂的神秘數字

      • 代碼中不要出現數字,特別是一些標識不同類型的數字。
      • 所有意義數字全部抽取到Constant公共類中,避免散布在各位類中。
      • </ul> </li> </ul>

        命名

        1. 布局文件中的id命名

        規則:使用駝峰命名,前綴+邏輯名稱,類變量名和布局文件id名稱保持一致,不需要下劃線分割

        控件前綴規則:

        • TextView/EditText: text
        • Button/RadioButton/ImageButton: btn
        • ImageView: img
        • RelativeLayout/LinearLayout/FrameLayout: layout,
        • ListView: listView
        • WebView: webView
        • CheckBox: chBox
        • 如:TextView @+id/textTitle
        • 如:EditView @+id/textName
        • 如:Button @+id/btnSearch

        2. 布局文件命名

        規則: 使用前綴_邏輯名稱命名,單詞全部小寫,單詞間以 下劃線 分割。

        前綴規則:

        • Activity對應的布局使用activity_
        • Fragment對應的布局使用fragment_

        • 如:PublishActivity: activity_publish.xml

        3. 資源文件命名

        規則: 使用 前綴_用途 命名,單詞全部小寫,單詞間以 下劃線 分割。

        • drawable:

          • btn_back_selector.xml 控件前綴命名
          • common_circle_gray.xml 通用資源多處使用common_
          • chat_image_selector.xml 功能相關業務使用加用途前綴
        • drawable_hdpi:

          • btn_back_normal.9.png 控件前綴名稱
          • btn_back_press.9.png 控件前綴名稱
          • icon_login_lock.png icon_+用途
        • values/color:

          • pull_refresh_attrs.xml 引入的第三方資源,攜帶資源簡拼的前綴

        4. 類和接口命名

        規則: 使用駝峰規則,首字母必須大寫,使用名詞或名詞詞組。要求簡單易懂,富于描述,不允許出現無意義或錯誤單詞。

        • 如:class BookMarkAdd 正確
        • 如:class AddBookReadPlan 錯誤! 應為 class BookReadPlanAdd

        5. 方法的命名

        規則: 使用駝峰規則,首字母必須小寫,使用動詞。要求簡單易懂,富于描述,不允許出現無意義或錯誤單詞。

        • 如:public void run();
        • 如:public String getBookName();

        6. 變量命名

        規則: 使用駝峰規則,首字母必須小寫,使用名詞或名詞詞組。要求簡單易懂,富于描述,不允許出現無意義或錯誤單詞。

        • 成員變量命名,不要在私有變量前添加m字樣
        • 常量命名,全部大寫,單詞間用下劃線隔開

        其他

        • 空行:空行將邏輯相關代碼段隔開,簡潔清楚,提高可讀性
          • 成員變量之間,根據業務形成分組加空行
          • 方法之間加空行
        • 控制語句
          • 減少條件嵌套,不要超過3層
          • if判斷使用“衛語句”,減少層級
            if(obj != null) { doSomething(); }
            修改為:
            if(obj == null) { return; } doSomething();
          • if語句必須用{}包括起來,即便是只有一句
        • 方法
          • 拆分臃腫方法,每個方法只作一件事
          • 做同一個邏輯的方法,盡量靠近放到一塊,方便查看
          • 不要使用 try catch 處理業務邏輯
          • 使用JSON工具類,不要手動解析和拼裝數據
        • Activity繼承BaseFragmentActivity或SwipeBackActivity,可以使用ButterKnife注解代替findViewById。

        IDE

        • Android Studio (越早使用越好)
        • Android SDK 4.4W (API 20 統一開發版本)
        • JDK 1.8(統一開發版本)

        Libraries

        Base

        • fastjson-android-1.2.4.jar
        • okhttp-2.2.0.jar
        • okio-1.2.0.jar
        • picasso-2.5.0.jar
        • butterknife:7.0.1
        • ormlite-android:4.48

        UI

        • PullToRefresh
        • QuickAdapter
        • PagerSlidingTabStrip
        • SystemBarTint 狀態欄以及導航欄設置背景顏色
        • SwipeBackLayout 左滑返回
        • PullToZoomView 可以下拉縮放HeaderView
        • AutoLoopViewPager 輪播圖
        • PhotoView
        • ViewPageIndicator

        來自: http://www.jianshu.com/p/9b8aeca9b281

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!