日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

配置化規約掃描

BizWorks Toolkit支持通過配置化的方式,在項目中動態維護自定義的研發規約,這份配置文件即為規約掃描配置,文件所在路徑為.bizworks/inspections.yaml

前提條件

BizWorks Toolkit版本大于等于2.2.0。

步驟一:新建規約掃描配置文件

如果您還沒有配置規約掃描配置文件,可以在項目根目錄或.bizworks目錄,通過單擊New > BizWorks 配置文件 > 規約掃描配置新建文件,具體路徑如下圖所示。新建后的配置文件會自動打開,且配置文件會自動創建在 .bizworks/inspections.yaml目錄。image.png

如果規約掃描配置文件已經存在,在項目根目錄或.bizworks目錄,單擊New > BizWorks配置文件 > 規約掃描配置后,會直接打開該文件。image.png

上圖配置文件中,默認生成的配置項對應的校驗規則如下表所示(部分配置項通過enabled: false關閉了校驗功能):

規則類型

默認提示信息

規則說明

指定包路徑下存放DTO的Converter類,

Converter類名按指定的后綴命名。

DTO的Converter類名不滿足命名規范,應該以“DtoConverter”為后綴。

  • 指定包路徑為可配置項;

  • 后綴“DtoConverter”為可配置項。

DTO的Converter類中需要包含指定的方法名。

DTO的Converter類中需要包含指定的方法名:toDto()、toEntity()命名。

指定方法名toDto()、toEntity()為可配置項。

指定包路徑下存放DO的Converter類,

Converter類名按指定的后綴命名。

DO的Converter類名不滿足命名規范,應該以“DoConverter”為后綴。

  • 指定包路徑為可配置項;

  • 后綴“DoConverter”為可配置項。

DO的Converter類中需要包含指定的方法名。

DO的Converter類中需要包含指定的方法名:toDo()、toEntity()命名。

方法名toDo()、toEntity()為可配置項。

指定包路徑下存放聚合根、實體對象、值對象。

聚合根、實體對象、值對象未放在指定包路徑下。

  • 指定包路徑為可配置項;

  • 對象類型(聚合根、實體對象、值對象)為可配置項。

聚合根類名按指定后綴命名。

聚合根類名不滿足命名規范,應該以“Agg”為后綴。

后綴“Agg”為可配置項。

實體對象類名按指定后綴命名。

實體對象類名不滿足命名規范,應該以“Entity”為后綴。

后綴“Entity”為可配置項。

值對象類名按指定后綴命名。

值對象類名不滿足命名規范,應該以“VO”為后綴。

后綴“VO”為可配置項。

指定的包路徑下,枚舉類名按指定后綴命名。

枚舉類名不滿足命名規范,應該以“Enum”為后綴。

  • 指定包路徑為可配置項;

  • 后綴“Enum”為可配置項。

指定包路徑下存放Repository類,

Repository類名按指定的后綴命名。

Repository類名不滿足命名規范,應該以“Repository”為后綴。

  • 指定包路徑為可配置項;

  • 后綴“Repository”為可配置項。

domain層指定包路徑下存放的Repository需要是接口。

domain層指定包路徑下存放的Repository需要是接口。

  • 指定包路徑為可配置項。

自定義包路徑下類名的按指定后綴命名。

xxx.xxx”路徑下存在類名不滿足命名規范,應該以“xxx”為后綴。

  • 自定義包路徑“xxx.xxx”為可配置項;

  • 后綴“xxx”為可配置項。

自定義包路徑下類是實現類。

xxx.xxx”路徑下存在類不是實現類,需要調整。

  • 自定義包路徑“xxx.xxx”為可配置項;

  • 接口、抽象類、實現類等定義為可配置項。

自定義包路徑下類是接口或抽象類。

xxx.xxx”路徑下存在類不是接口或抽象類,需要調整。

  • 自定義包路徑“xxx.xxx”為可配置項;

  • 接口、抽象類、實現類等定義為可配置項。

指定包路徑下存放Mapper。

Mapper未構建在指定目錄下。

  • 涉及多種配置方式,僅支持檢測MyBatis注解;

  • 指定包路徑為可配置項。

指定包路徑下存放Mapper,Mapper類名按指定的后綴命名。

Mapper類名不滿足命名規范,應該以“Mapper”為后綴。

  • 指定包路徑為可配置項;

  • 后綴“Mapper”為可配置項。

指定包路徑下存放數據對象,數據對象類名按指定的后綴命名。

數據對象類名不滿足命名規范,應該以“DO”為后綴。

  • 指定包路徑為可配置項;

  • 后綴“DO”為可配置項。

指定包路徑下存放Repository實現類,

Repository實現類名按指定的后綴命名。

Repository實現類名不滿足命名規范,應該以“RepositoryImpl”為后綴。

  • 指定包路徑為可配置項;

  • 后綴“RepositoryImpl”為可配置項。

指定包路徑下存放的Repository需要是實現類。

指定包路徑下存放的Repository需要是實現類,不應該是接口。

指定包路徑為可配置項。

指定包路徑下存放DTO類,

DTO類名按指定的后綴命名。

DTO類名不滿足命名規范,應該以“DTO”為后綴。

  • 指定包路徑為可配置項;

  • 后綴“DTO”為可配置項。

步驟二:修改默認配置

通過上述步驟一:新建規約掃描配置文件操作創建的規約掃描配置文件,其內容來源于默認模板,包含一些默認開啟或關閉的示例。其中packagecom.alibaba.bizworks.demo 需要替換為項目的真實package配置文件才會生效。

說明

您可以通過快捷鍵觸發替換操作:

  • 如果您使用的是Mac系統:command+R

  • 如果您使用的是Windows系統:Ctrl+R

image.png

步驟三:執行規約掃描驗證

在全局或目錄執行規約掃描驗證

打開IDEA,在項目左側導航欄的目錄上,單擊右鍵后,選擇BizWorks > BizWorks規約掃描(按目錄觸發執行驗證),您也可以在根目錄觸發(全項目級別的執行驗證)。image.png

下圖為執行規約掃描驗證的截圖示例:image.png

在Editor中即時校驗

在Editor編輯過程中,界面會顯示即時校驗反饋。image.png

配置管理

在項目下方的配置管理頁簽,列出了項目中的規約掃描配置信息,同時也支持通過雙擊或右擊菜單跳轉。image.png

在規約掃描配置有變動時,您可以單擊重新加載規約掃描配置重新掃描發現項目中的配置。

image.png

規約掃描配置生效

規約掃描配置生效的時間點或方式如下:

  • 項目啟動自動加載。

  • 修改規約掃描配置文件后自動重新加載。

  • 通過菜單手動加載:BizWorks > 重新加載規約掃描配置image.png

    說明

    當規約掃描配置文件并非由IDEA可感知的變動引起時(例如:命令行git同步其他協作者的改動,外部其他Editor修改等),您如果發現當前校驗規則與預期不符,可以嘗試手動重新加載。

規約掃描配置內容說明

BwBasicClassRule(基礎的類校驗規則)

完整的規約掃描配置規則示例如下(在默認的模板中也包含如下示例規則):

      # 下面這個是關閉的完整字段配置示例
      # name 必填
      - name: "完整 BwBasicClassRule Inspection示例"
        # 非必填;項目內Inspection編碼, 不可重復,用于區分規則,如果不填則會根據內部規則生成
        code: "demoCustomRule"
        # 非必填;規則描述
        description: "Simple Inspection"
        # 非必填;提示信息, 內置變量
        tip: "類不符合要求,后綴應為"
        # 非必填;類型,內置類型直接使用類型名。默認為 BwBasicClassRule
        type: "BwBasicClassRule"
        # 非必填;是否啟用, 默認啟用;當前為示例規則,僅容配置參考,故設置為 false
        enabled: false
        # 非必填;參照 IntelliJ 級別配置。嚴重程度,默認 使用 defaultSeverity 配置 , 可選值為 error,warning,weak (weak warning含義)
        severity: error
        # 必填;約束的作用域
        scopes:
          # type 默認是 include,可選 exclude
          - type: include
            package: "com.alibaba.bizworks.client.dto"
            # 類型,任意匹配即可
            defTypes:
              - "class"
              - "abstract"
              - "interface"
              - "enum"
            # 后綴
            suffixes:
              - "DTO"
              - "Repository"
              - "Enum"
            annotations:
              # 多條 annotation 之間是或的關系
              - qualifiedName: "com.alibaba.bizworks.core.specification.ddd.ValueObject"
                attributes:
                  - name: "isValueObject"
                    value: "true"
          # 多條 scope 之間是 and 的關系,在上一條的基礎上進一步縮小范圍。同時,是否沖突由用戶自己控制
          - type: exclude
            defTypes:
              - "interface"
        # 必填;檢查約束不支持多條,但單條上面每個配置可以支持按需配置
        constraint:
          package: "com.alibaba.bizworks.client.dto"
          # 約束下復數形式同樣支持配置多項,規則仍是任意一個匹配
          suffixes:
            - "DTO"
            - "Repository"
            - "Enum"
          annotations:
            - qualifiedName: "com.alibaba.bizworks.core.specification.ddd.ValueObject"
              attributes:
                - name: "isValueObject"
                  value: "true"
          defTypes:
            - "class"
            - "abstract"
            - "interface"
            - "enum"
          # 約束項指明要求所有都滿足的,則會匹配所有
          containAllMethods:
            - "toDto"
            - "toEntity"

通過閱讀注釋中說明信息,您會發現其中有很多內容都是有默認值可以不配置的,所以默認模板中大量的規則實際都是簡化后的簡單規則,具體如下所示:

      - name: "指定包路徑下存放DTO的Converter類,Converter類名按指定的后綴命名"
        scopes:
          - package: "com.alibaba.bizworks.demo.*.app.converter"
        constraint:
          suffixes:
            - "Converter"

常見問題

當界面出現“規約掃描配置加載過程中存在錯誤”提示時應如何處理?

在規約掃描配置加載過程中,如果配置文件缺失,或配置文件內容有誤,IDEA右下角會有錯誤提示,請參照提示信息確認配置文件內容正確。

  • 提示一:配置文件不存在!規約掃描配置加載失敗,保留現狀。image.png

  • 提示二:配置解析出錯,請檢查配置。image.png

  • 提示三:錯誤規則。具體請參見下圖。image.png

說明
  • 如果是配置文件缺失或配置文件格式等原因導致配置整體解析錯誤,則IDEA會保留在重新加載前生效的規則。

  • 如果配置文件解析正常,但部分規則內容不符合配置約定,是無效規則(比如缺少必要的name等),則會忽略不符合配置要求的規則,加載生效其余有效的規則。