日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java 编码规范8(编程规约-注释规约与其它)

發布時間:2023/12/10 java 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 编码规范8(编程规约-注释规约与其它) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

注釋規約與其它


其它相關文章
Java 編碼規范1(編程規約-命名風格)
Java 編碼規范2(編程規約-常量定義)
Java 編碼規范3(編程規約-代碼格式)
Java 編碼規范4(編程規約-OOP規約)
Java 編碼規范5(編程規約-集合處理)
Java 編碼規范6(編程規約-并發處理)
Java 編碼規范7(編程規約-控制語句)
Java 編碼規范8(編程規約-注釋規約與其它)
Java 編碼規范9(異常日志)
Java 編碼規范10(單元測試)
Java 編碼規范11(安全規約)
Java 編碼規范12(MySQL-建表規約)
Java 編碼規范13(MySQL-索引規約)
Java 編碼規范14(MySQL-SQL語句與ORM映射)
Java 編碼規范15(工程結構)


  • [強制] 類屬性類方法的注釋必須使用Javadoc規范,使用/**內容*/格式,不得使用// xxx方式。

    • 說明:在IDE編輯窗口中,Javadoc方式會提示相關注釋,生成Javadoc可以正確輸出相應注釋;在IDE中,工程調用方法時,不進入方法即可懸浮提示方法、參數、返回值的意義,提高閱讀效率。
  • [強制] 所有的抽象方法(包括接口中的方法)必須要用Javadoc注釋,除了返回值、參數、異常說明外,還必須指出該方法做什么事情,實現什么功能。

    • 說明:對子類的實現要求,或者調用注意事項,請一并說明。
  • [強制] 所有的類都必須添加創建者和創建日期。

  • [強制] 方法內部單行注釋,在被注釋語句上方另起一行,使用//注釋。方法內部多行注釋使用/* */注釋,注意與代碼對齊。

  • [強制] 所有的枚舉類型字段必須要有注釋,說明每個數據項的用途。

  • [強制] 與其“半吊子”英文來注釋,不如用中文注釋把問題說清楚。專有名詞與關鍵字保持英文原文即可。

    • 反例:“TCP連接超時”解釋成“傳輸控制協議連接超時”,理解反而費腦筋。
  • [推薦] 代碼修改的同時,注釋也要進行相應的修改,尤其是參數、返回值、異常、核心邏輯等的修改。

    • 說明:代碼與注釋更新不同步,就像路網與導航軟件更新不同步一樣,如果導航軟件嚴重滯后,就失去了導航的意義。
  • [參考] 謹慎注釋掉代碼。在上方詳細說明,而不是簡單地注釋掉。如果無用,則刪除。

    • 說明:代碼被注釋掉有兩種可能性:
      • 后續會恢復此段代碼邏輯。
      • 永久不用。前者如果沒有備注信息,難以知曉注釋動機。后者建議直接刪掉(代碼倉庫保存了歷史代碼)。
  • [參考] 對于注釋的要求:

  • 能夠準確反應設計思想和代碼邏輯;
  • 能夠描述業務含義,使別的程序員能夠迅速了解到代碼背后的信息。
    • 完全沒有注釋的大段代碼對于閱讀者形同天書,注釋是給自己看的,即使隔很長時間,也能清晰理解當時的思路
    • 注釋也是給繼任者看的,使其能夠快速接替自己的工作。
  • [參考] 好的命名、代碼結構是自解釋的,注釋力求精簡準確、表達到位。避免出現注釋的一個極端:過多過濫的注釋,代碼的邏輯一旦修改,修改注釋是相當大的負擔。

    • 反例:

      // put elephant into fridge put(elephant, fridge);
      • 方法名put,加上兩個有意義的變量名elephant和fridge,已經說明了這是在干什么,語義清晰的代碼不需要額外的注釋。
  • [參考] 特殊注釋標記,請注明標記人與標記時間。注意及時處理這些標記,通過標記掃描,經常清理此類標記。線上故障有時候就是來源于這些標記處的代碼。

    • 待辦事宜(TODO):( 標記人,標記時間,[預計處理時間])
      • 表示需要實現,但目前還未實現的功能。
      • 這實際上是一個Javadoc的標簽,目前的Javadoc還沒有實現,但已經被廣泛使用。只能應用于類,接口和方法(因為它是一個Javadoc標簽)。
    • 錯誤,不能工作(FIXME):(標記人,標記時間,[預計處理時間])
      • 在注釋中用FIXME標記某代碼是錯誤的,而且不能工作,需要及時糾正的情況。
  • [強制] 在使用正則表達式時,利用好其預編譯功能,可以有效加快正則匹配速度。

    • 不要在方法體內定義:Pattern pattern = Pattern.compile(規則);
  • [強制] velocity調用POJO類的屬性時,建議直接使用屬性名取值即可,模板引擎會自動按規范調用POJO的getXxx(),如果是boolean基本數據類型變量(boolean命名不需要加is前綴),會自動調用isXxx()方法。

    • 注意如果是Boolean包裝類對象,優先調用getXxx()的方法。
  • [強制] 后臺輸送給頁面的變量必須加$!{var}——中間的感嘆號。

    • 如果var=null或者不存在,那么${var}會直接顯示在頁面上。
  • [強制] 注意 Math.random() 這個方法返回是double類型,注意取值的范圍 0≤x<1(能夠取到零值,注意除零異常)。

    • 如果想獲取整數類型的隨機數,不要將x放大10的若干倍然后取整,直接使用Random對象的nextInt或者`nextLong方法。
  • [強制] 獲取當前毫秒數System.currentTimeMillis(); , 而不是new Date().getTime();

    • 如果想獲取更加精確的納秒級時間值,使用ystem.nanoTime()的方式。在JDK8中,針對統計時間等場景,推薦使用Instant類。
  • [推薦] 不要在視圖模板中加入任何復雜的邏輯。

    • 根據MVC理論,視圖的職責是展示,不要搶模型和控制器的活。
  • [推薦] 任何數據結構的構造或初始化,都應指定大小,避免數據結構無限增長吃光內存。

  • [推薦] 及時清理不再使用的代碼段或配置信息。

    • 說明:對于垃圾代碼或過時配置,堅決清理干凈,避免程序過度臃腫,代碼冗余。
    • 正例:對于暫時被注釋掉,后續可能恢復使用的代碼片斷,在注釋代碼上方,統一規定使用三個斜杠(///)來說明注釋掉代碼的理由。
  • 總結

    以上是生活随笔為你收集整理的Java 编码规范8(编程规约-注释规约与其它)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。