91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • Java黑科技之通過Google Java Style 文件配置IDEA和Ecplise的示例分析

Java黑科技之通過Google Java Style 文件配置IDEA和Ecplise的示例分析

發布時間:2021-05-14 09:21:23 來源:億速云 閱讀:146 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關Java黑科技之通過Google Java Style 文件配置IDEA和Ecplise的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

一、引言

每一個公司,團隊的代碼風格可能都不一樣,只要團隊內有自己統一的風格就好。接下來,介紹Google Java 代碼風格,并且如何在IDEA和Ecplise兩種比較流行的Java集成開發環境中配置Google Java 代碼風格。

如果不看google代碼風格詳細介紹的,可以下拉到最后查看 IDEA 和 Ecplise 配置 Google Java Style 教程和 Google Java Style 文件下載。

二、Google Java Style 介紹

2.1 源文件基礎

文件名

Java源文件名區分大小寫的,并且首字母大寫,以.java擴展名結束。

文件編碼

Java源文件編碼格式為UTF-8。

特殊字符

  • 空格字符:除了行結束符之外,ASCII水平空格字符(0x20)是唯一出現在源文件中任何地方的空格字符。這也意味著,字符串和字符文字中的所有其他空白字符均被轉義。制表符不用于縮進。

  • 特殊的轉義序列:所有轉義序列 (\ b, \ t, \ n, \ f, \ r, \ ", \ ' 和 \\),不是八進制(例如 \ 012)或Unicode(例如 \ u000a)的轉義。

  • 非ASCII字符:對于其余的非ASCII字符,則使用實際的Unicode字符(例如∞)或等效的Unicode轉義符(例如 \ u221e)。用哪種取決于使代碼更易于閱讀和理解,盡管Unicode會在字符串文字之外進行轉義,但是不建議不在注釋中使用。例如String unitAbbrev = "μs",沒必要寫成String unitAbbrev = "\u03bcs"

2.2 源文件結構

一個Java源文件,按以下順序組成,并且每個部分空一行分隔開:

1.許可或版權信息(如果有)

2.Package語句,并且不換行的

3.Import語句,最后不要使用通配符導入,無論是靜態導入還是其他方式;每一行導入語句都是不換行的;所有靜態導入都在一個塊中,所有非靜態導入也在同一個塊中,塊之間用一空白行分隔開;在每個塊中,導入的名稱均按ASCII排序順序顯示。

4.頂級類定義

每一個頂級類都應該在一個單獨的源文件中,對于一個類中的內容,最好是有意識地對類中的內容按某種規則排序排版,例如新的方法一般添加在類的尾部,這樣我們可以根據時間線索了解這些方法何時加進來的;再比如,當一個類具有多個構造函數或多個具有相同名稱的方法時,它們將順序出現,并且它們之間沒有其他代碼(甚至沒有私有成員)。

2.3 格式化

前提須知,下文中提及的塊狀結構是指類的主體,方法或構造函數。

花括號

if,else,for,do,while 等語句塊使用花括號,即使花括號內容是空的或者只有一行語句。

對于內容非空的花括號塊,遵循以下規則:

左括號前不換行

左括號后換行

右括號前換行

右括號后換行,如方法塊,構造函數,類的主體括號情況下才換行。有些整體搭配不換行,例如esle前面的右括號,try塊的右括號等。

return () -> {
  while (condition()) {
    method();
  }
};

return new MyClass() {
  @Override public void method() {
    if (condition()) {
      try {
        something();
      } catch (Exception e) {
        recover();
      }
    } else if (otherCondition()) {
      somethingElse();
    } else {
      lastThing();
    }
  }
};

對于一些空內容的塊,以下兩種方式都可接受:

void doNothing() {}

  void doNothingElse() {
  }

縮進

關于一些塊結構等的縮進,建議2個空格,并且注釋也最好和代碼縮進保持一致。

每行一個聲明

每個語句后都有一個換行符,不要將多行語句都寫在同一行。

列數限制

Java代碼的列數限制為100個字符,一個字符是指一個Unicode字符。除非另有說明,否則超出該限制的任何行都必須進行換行。

不過也有一些例外可以超過此限制,例如:

  • Javadoc中的長URL或長的JSNI方法引用

  • package和import語句

  • 注釋中的命令行,因為可能需要將其拷貝到shell中執行

不要水平對齊

水平對齊是在下一行的代碼中添加一些空格,致使與上一行的某個標識符對齊。語法允許這樣做,但是不推薦,因為后續可能會載修改代碼,可能導致不再對齊,然后再對齊的話需要浪費額外的時間精力。

// 這是推薦的,按正常的一個空格即可
private int x;
private Color color;

// color和x對齊,沒必要
private int   x;
private Color color;

枚舉類

如果一個枚舉常量有方法或者注釋,在每個枚舉常量的逗號后面,最好換一行再定義下一個枚舉常量。

private enum Answer {
  YES {
    @Override public String toString() {
      return "yes";
    }
  },
  NO,
  MAYBE
}

如果一個枚舉常量沒有有方法或者注釋,則可以不換行。

private enum Suit { CLUBS, HEARTS, SPADES, DIAMONDS }

變量聲明

每個變量聲明語句只聲明一個變量,不要使用 int a, b;這種多變量的聲明。但是for循環的頭部中可以接受多個變量聲明 。

需要時才聲明,不要在代碼塊的開頭就聲明局部變量,而是應該在靠近使用局部變量的地方聲明它們,以最小化它們的作用域。局部變量應該聲明的時候就進行初始化,或者聲明后,要立即初始化。

數組

[]方括號應該是類型的一部分,而不是變量,所以應該使用String[] args,而不是 String args[]

Switch語句

在Switch代碼塊內,如果一個case小代碼塊直接穿透到下一個case(例如沒有以break,continue,return或者拋異常結尾),則需要在最后一個case后面注釋說明原因;最后一定要寫default塊,即使沒有執行任何代碼,但是如果switch的是枚舉類型,并且case列出所有的枚舉值了,可以不用寫default。

switch (input) {
  case 1:
  case 2:
    prepareOneOrTwo();
    // 這里說明為什么穿透,case1和case2的情況下也要執行case3的內容
  case 3:
    handleOneTwoOrThree();
    break;
  default:
    handleLargeNumber(input);
}

修飾符

類或者成員變量的定義使用修飾符時,按以下順序進行修飾。

public protected private abstract default static final transient volatile synchronized native strictfp

字面量

long類型的值,數字后面加大寫的L,禁止使用小寫的l,因為l和1很像,容易誤導。例如300000L而不是300000l。

三、標識符命名規則

package命名規則

package的包名全部小寫,而且不要出現下劃線(_),例如使用com.nobody.chenpi,而不是com.nobody.chenPi 或者com.nobody.chen_pi

類命名規則

類名遵循UpperCamelCase規則,即大寫字母開頭的駝峰規則。類名使用名詞或者名稱短語,例如Person,GoodPerson。接口使用名稱或者名稱短語,有時也可以使用形容詞或者形容詞短語,例如Readable。

測試類名字以需要測試的類的名字開頭,并且以Test結尾,例如HashTest 。

方法命名規則

方法命名遵循lowerCamelCase規則,即小寫字母開頭的駝峰規則。方法名詞使用動詞或者動詞短語,例如sendMessage。

常量命名規則

常量名稱全部大寫,并且單詞之間用下劃線分隔開。

private static final Long MAX_NUM = 10000L;

還有需要Google代碼風格規則就不一一講解了,感興趣的可以到google官方查看。

IDEA 配置 Google Java Style

點擊File(文件)–> Setting(設置) –> Editor(編輯) –> Code Style(代碼風格),然后再點擊Scheme右邊的設置按鈕,Import Scheme,IntelliJ IDEA code style xml。最后選中本地下載好的xml文件。

Java黑科技之通過Google Java Style 文件配置IDEA和Ecplise的示例分析

然后為選中導入的主題取個名稱,在最上面Scheme選項選中我們的主題確定即可。

Java黑科技之通過Google Java Style 文件配置IDEA和Ecplise的示例分析

然后我們在使用IDEA開發代碼過程中,使用快捷鍵(默認是ctrl + alt + L,也可以修改設置這個快捷鍵),即可按google風格進行格式化代碼。

package com.nobody.exception;

import lombok.Getter;

/**
 * @Description 自定義通用異常枚舉類
 * @Author Mr.nobody
 * @Date 2020/10/23
 * @Version 1.0
 */
@Getter
public enum CommonErrorEnum implements BaseErrorInfo {

  /**
   * 成功
   */
  SUCCESS("200", "成功!"),
  /**
   * 請求的數據格式不符!
   */
  BODY_NOT_MATCH("400", "請求的數據格式不符!"),
  /**
   * 未找到該資源!
   */
  NOT_FOUND("404", "未找到該資源!"),
  /**
   * 服務器內部錯誤!
   */
  INTERNAL_SERVER_ERROR("500", "服務器內部錯誤!"),
  /**
   * 服務器正忙,請稍后再試!
   */
  SERVER_BUSY("503", "服務器正忙,請稍后再試!");

  private String errorCode;
  private String errorMsg;

  CommonErrorEnum(String errorCode, String errorMsg) {
    this.errorCode = errorCode;
    this.errorMsg = errorMsg;
  }
}

四、Ecplise 配置 Google Java Style

路徑:Window - Preferences - Java - Code Style - Formatter - Import,然后導入xml文件,最后選擇GoogleStyle,保存即可。

Java黑科技之通過Google Java Style 文件配置IDEA和Ecplise的示例分析

感謝各位的閱讀!關于“Java黑科技之通過Google Java Style 文件配置IDEA和Ecplise的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

灌阳县| 东平县| 望谟县| 赤水市| 宝应县| 普洱| 沂源县| 澄城县| 瑞安市| 沐川县| 藁城市| 方城县| 祁东县| 夏邑县| 北碚区| 中方县| 吴川市| 淅川县| 铜陵市| 介休市| 阿拉尔市| 乐都县| 陇川县| 聂荣县| 丽江市| 沾益县| 南丰县| 团风县| 祁门县| 丰顺县| 秭归县| 巴林左旗| 江华| 如皋市| 五河县| 虎林市| 改则县| 班玛县| 平果县| 阿鲁科尔沁旗| 新余市|