乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      標(biāo)準(zhǔn)的Java編碼規(guī)范手冊

       禪悟我心 2018-01-09

             編碼規(guī)范體現(xiàn)出一個(gè)開發(fā)者的基本素質(zhì),良好的編碼規(guī)范可以提高團(tuán)隊(duì)編碼的效率,避免很多不必要的問題。今天分享一個(gè)標(biāo)準(zhǔn)的Java編碼規(guī)范給大家,希望對于大家今后的開發(fā)工作帶來幫助。

      編碼規(guī)范的意義
             在項(xiàng)目開發(fā)維護(hù)中,編碼規(guī)范作為開發(fā)規(guī)范的一個(gè)組成部分,是十分重要和必須的,它不僅僅是為了提高開發(fā)效率,也有利于降低后期維護(hù)開發(fā)的成本。編碼規(guī)范的根本目的就是要讓不僅代碼可以一目了然,也可以很容易的理解開發(fā)人員所編寫的代碼程的用途和意義。由此,用來減少項(xiàng)目中因?yàn)殚_發(fā)維護(hù)人員的更替或由于長時(shí)間不維護(hù)造成的記憶模糊或混亂等情況帶來的對代碼所實(shí)現(xiàn)的真正功能的理解困難和歧義。另外也提高了代碼復(fù)查效率和效果。

      規(guī)范實(shí)施建議
             不是為了規(guī)范而規(guī)范,以提高軟件開發(fā)質(zhì)量和效率為目標(biāo),輔以IDE等開發(fā)工具為保障,逐步改進(jìn)編碼規(guī)范化水平
             對于格式規(guī)范、注釋規(guī)范等部分規(guī)范的要求,可以通過使用eclipse/AndroidStudio自帶的Format方法(快捷鍵:Ctrl+Shift+F)進(jìn)行自動(dòng)格式化,可以提高開發(fā)效率又符合編碼規(guī)范。
             編碼規(guī)范文檔本身需要定期不斷的修正和完善,以符合實(shí)際開發(fā)規(guī)范的要求。

      格式規(guī)范

      a)縮進(jìn)
      使用配置文件進(jìn)行格式化:
      配置文件中一個(gè)TAB等于4個(gè)空格。

      b)行長度
      每行100字符
      注: 使用eclipse自帶的Format方法(快捷鍵:Ctrl+Shift+F)時(shí),需要配置“Maximum line width”設(shè)置長度為100

      c)聲明

      d)聲明變量、常量
      一行只聲明一個(gè)變量或常量;
      在代碼塊的開始處聲明實(shí)例變量,不要在首次用到該變量時(shí)才聲明【推薦】

      e)聲明類
      左大括號”{“位于聲明語句同行的末尾,右大括號”}”另起一行;
      方法與方法之間以空行分隔

      f)語句
      可以使用eclipse自帶的Format方法(快捷鍵:Ctrl+Shift+F)時(shí) 使用eclipse默認(rèn)的“Control Statements ”格式化方法進(jìn)行
      注:if語句總是用”{“和”}”括起來
      示例

      class Example { void bar() { do { } while (true); try { } catch (Exception e) { } finally { } } void foo2() { if (true) { return; } if (true) { return; } else if (false) { return; } else { return; } }}
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23

      g)空格的使用

      等號左右必須各有一個(gè)空格:
      button = null;
      雙目運(yùn)算符左右必須各有一個(gè)空格:
      imageWidth = imagePadding + imageSize;
      標(biāo)點(diǎn)符號后面必須跟一個(gè)空格
      標(biāo)點(diǎn)符號包括“,”、“;”等,下面列出幾個(gè)例子。
      一行定義多個(gè)變量時(shí),“,”后跟空格:
      int i, j;
      在for循環(huán)中,“;”后跟空格:
      for (int i = 0; i < count;="" ++i)="">
      在有多個(gè)入口參數(shù)的函數(shù)調(diào)用中,“,”后跟一個(gè)空格:
      addContentView(view, params);

      h)變量類型的使用
      編程的過程中盡量使用接口編程,而少用類編程。
      如:

      ListString> names = new ArrayListString>();
      • 1

      命名規(guī)范

      通用規(guī)則
             命名規(guī)范使程序更易讀,從而更易于理解。它們也可以提供一些有關(guān)標(biāo)識符功能的信息,以助于理解代碼,例如,不論它是一個(gè)常量,包,還是類。

             包(Packages) 一個(gè)唯一包名的前綴總是全部小寫的ASCII字母并且是一個(gè)頂級域名,通常是com,edu,gov,mil,net,org,或1981年ISO 3166標(biāo)準(zhǔn)所指定的標(biāo)識國家的英文雙字符代碼。包名的后續(xù)部分根據(jù)不同機(jī)構(gòu)各自內(nèi)部的命名規(guī)范而不盡相同。這類命名規(guī)范可能以特定目錄名的組成來區(qū)分部門(department),項(xiàng)目(project),機(jī)器(machine),或注冊名(login names)。
      如:

      package com.itotem.viewpackage com.itotem.utils.xxxx
      • 1
      • 2

             類(Classes) 命名規(guī)則:類名是個(gè)一名詞,采用大小寫混合的方式,每個(gè)單詞的首字母大寫。盡量使類名簡潔而富于描述。使用完整單詞,避免縮寫詞(除非該縮寫詞被更廣泛使用,像URL,HTML)
      如:

      public class Buttonpublic class EditText
      • 1
      • 2

             接口(Interfaces) 命名規(guī)則:接口類名以大寫“I”開頭,大小寫規(guī)則與類名相似,
      如:

      public interface IProjGroupService
      • 1

             方法(Methods) 方法名是一個(gè)動(dòng)詞,采用大小寫混合的方式,第一個(gè)單詞的首字母小寫,其后單詞的首字母大寫。
      如:

      public void onCreate(Bundle savedInstanceState)public void run()
      • 1
      • 2

             局部變量(Local Variables) 采用大小寫混合的方式,第一個(gè)單詞的首字母小寫,其后單詞的首字母大寫。變量名應(yīng)簡短且富于描述。變量名的選用應(yīng)該易于記憶,即,能夠指出其用途。盡量避免單個(gè)字符的變量名,除非是一次性的臨時(shí)變量。臨時(shí)變量通常被取名為i,j,k,m和n,它們一般用于整型。c,d,e,它們一般用于字符型,變量名不應(yīng)以下劃線或美元符號開頭。
      如:

      int i = 0;float imageWidth = 0;
      • 1
      • 2

             實(shí)例變量(Instance Variables) 大小寫規(guī)則和類名相似,除了前面需要一個(gè)m。
      如:

      private int mEmployeeId = 0; private String mName = '';
      • 1
      • 2

             若實(shí)例變量為public類型的則和局部變量采用相同的命名規(guī)則。
      如:

      public int width = 0; public String contactName = '';
      • 1
      • 2

             常量(Constants [采用stiatc final 修飾]) 類常量的聲明,應(yīng)該全部大寫,單詞間用下劃線隔開。(類似C語言的宏定義)。
      如:

      private static final int MIN_WIDTH = 4; private static final int MAX_WIDTH = 999;
      • 1
      • 2

             資源id 資源id全部采用小寫,單詞之間用下劃線隔開。

             注意:這個(gè)小寫規(guī)范是Android強(qiáng)制執(zhí)行的,如果出現(xiàn)大寫或者特殊字符工程是不能編譯的。會(huì)報(bào)錯(cuò)
      如:

      download app_name call_log_type
      • 1
      • 2
      • 3

      備注(Remark)
             所有的標(biāo)識符名稱要求取有意義的單詞,不能使用myXXXX和button01等風(fēng)格的名稱。

      附加說明
      1、從命名中可以直觀看懂其定義和用途,否則必須增加注釋說明;
      2、在同一系統(tǒng)內(nèi)命名必須保持統(tǒng)一;避免出現(xiàn)類似示例中的情況;
      示例:項(xiàng)目組id 變量定義:pgid、projectgroupId、idprojectgroup、idProjGroup
      3、避免名字過長、命名采用英文縮寫,避免使用漢語拼音【推薦】

      組織規(guī)范

             引入包規(guī)范
             不允許引入類中未使用的包;
             引入包時(shí)不能直接引入“.*”,必須明確到引入的類名
             可以通過快捷鍵引入包。Ctrl+Shift+O;

      注釋規(guī)范

      a)通用注釋規(guī)則

      b)說明
             注釋要精簡并清晰容易理解;
             保持注釋與代碼同步。
             代碼質(zhì)量不好但能正常運(yùn)行,或者還沒有實(shí)現(xiàn)的代碼用 //TODO:任務(wù) ;
             存在錯(cuò)誤隱患的代碼用 //FIXME:聲明;
             對于不建議使用(廢棄)的類或者方法,必須在他們的注釋中增加 @deprecated

      c)javadoc注釋標(biāo)簽語法定義說明
             @author 對類的說明 標(biāo)明開發(fā)該類模塊的作者
             @version 對類的說明 標(biāo)明該類模塊的版本
             @see 對類、屬性、方法的說明 參考轉(zhuǎn)向,也就是相關(guān)主題
             @param 對方法的說明 對方法中某參數(shù)的說明
             @return 對方法的說明 對方法返回值的說明
             @exception 對方法的說明 對方法可能拋出的異常進(jìn)行說
             @deprecated 對類或方法的說明 該類或方法不建議使用

      d)類的注釋
      目的:簡單概述該類作用

      范圍:所有java類,可以不包括javabean

      書寫規(guī)范:類的注釋必須寫在該類的聲明語法之前。在注釋中要描述該類的描述,創(chuàng)建者,創(chuàng)建日期。

      類注釋模板:可以通過eclipse配置(Code Templates 中的 Code 的New Java files)

      ${filecomment}${package_declaration}/** * Title: ${project_name}
      * Description:
      * Copyright: Copyright (c) ${year}
      * Create DateTime: ${date} ${time}
      * @author perry.li */
      ${typecomment}${type_declaration}
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12

      類注釋示例:

      package cn.sh.sstic.projectmanagement.projectfeasibleschemaeval;
      • 1
      /** * Title: mwbas2008
      * Description: 可行性方案套數(shù)數(shù)組定義類
      * Create DateTime: Oct 6, 2008 4:41:03 PM
      * @author perry.li */
      public class FormUtil {
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7

      e)方法的注釋

             目的:簡要概述該方法的功能,包括其參數(shù)、返回值意義的注釋

             范圍:java類中的各種方法
             注:接口的實(shí)現(xiàn)方法的注釋應(yīng)寫在接口中而不是實(shí)現(xiàn)代碼中;
             對自動(dòng)生成的get/set方法不需要添加注釋;
             如果方法允許null作為參數(shù),或者允許返回值為null,必須在JavaDoc中說明,如果沒有說明,方法的調(diào)用者不允許使用null作為參數(shù),并認(rèn)為返回值是null 安全的。

             書寫規(guī)范:方法注釋必須寫在方法定義之前。該注釋包括:方法其功能的簡單 描述,方法的參數(shù)、返回值類型、返回值意義簡單的描述。

             模板:對于已定義好的接口的方法,可以直接輸入 /**回車 eclipse可自動(dòng)生成注釋模板

      示例:

      /** * 演示方法注釋 * @param args * @return * 返回 null 表示沒有找到 * @throws Exception */ private String[] demoFunction(String args) throws Exception{ return null; }
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10

      f)失效代碼塊的注釋
             目的:對一塊暫時(shí)不啟用的代碼進(jìn)行注釋。
             注:這里并不是指垃圾、無用的代碼,只是暫時(shí)不啟用或暫時(shí)不明確的代碼

             書寫規(guī)范:失效代碼塊采用塊注釋方法行注釋方法進(jìn)行標(biāo)注。
             注:采用注釋塊在 使用eclipse自帶的Format方法(快捷鍵:Ctrl+Shift+F)時(shí)需要配置,去掉選中 “Enable block commnet formatting”

      示例:

      // if (1==1) { // // } else { // // }

      或者

      /* if (1 == 1) { // 如果1與1相等的時(shí)候 String code1; } else { // 如果1與1不相等的時(shí)候 String code2; }*/

      g)分支語句的注釋
      目的:簡單描述該分支條件的意義

      書寫規(guī)范:在分支語句代碼的下一行進(jìn)行注釋

      示例:

      if (1==1) { //如果1與1相等的時(shí)候 code } else { //如果1與1不相等的時(shí)候 code }
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7

      h)變量、常量的注釋
             目的:簡單描述該變量、常量的意義。
             書寫規(guī)范:變量、常量注釋必須寫在變量、常量定義之前或同一行中,簡單描述其代表的意義。
             注:對自循環(huán)所用的變量(i,j,k,)可以不需要注釋。
      示例:

      String commitFlag; //提交標(biāo)志i)@Override的使用所有的重寫方法,在方法開始加上 @Override 關(guān)鍵字。
      • 1
      • 2
      • 3

      如:

      @Overridepublic void onCreate(Bundle savedInstanceState) {}
      • 1
      • 2
      • 3

      異常處理規(guī)范

             重新拋出的異常必須保留原來的異常,即throw new NewException(“message”, e); 而不能寫成throw new NewException(“message”),更不能不繼續(xù)往上層拋出異常。
             針對重要的可捕獲的業(yè)務(wù)相關(guān)異常,需創(chuàng)建異常處理類,在方法中捕獲到異常后,反饋到用戶界面上,提示用戶【推薦】

      補(bǔ)充規(guī)范

             代碼在提交版本控制之前,請確保已清除不必要的log調(diào)試語句
             明確的垃圾或無用代碼必須刪除

      安卓開發(fā)高級技術(shù)交流QQ群:108721298 歡迎入群

      微信公眾號:mobilesafehome

      (本公眾號支持投票)

        本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多