1. 程式人生 > >Android開發規範:程式碼規範(CheckStyle)

Android開發規範:程式碼規範(CheckStyle)

文章目錄

開發APP的過程中,每個團隊都會約定自己的程式碼規範。但是往往在實踐過程中,要麼由於開發週期緊張,大家沒有按照規範進行,而是按照自己的程式設計習慣來開發;要麼是新入職的員工,或者從別的專案組借調過來的員工,不熟悉我們的開發規範。所以有必要用一些強制手段來規範我們設定的程式碼規範。
因此我們引入checkstyle來約束程式碼規範。
checkstyle有兩種使用方式,一種是安裝plugin外掛,還有一種是通過gradle配置。

checkstyle: plugin

1. 安裝外掛
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
這個因此很簡單,搜尋外掛,安裝,然後選擇一個checkstyle檔案。
2. checkstyle檔案
這裡介紹一下常用的checkstyle檔案。
官網:
https://github.com/checkstyle/checkstyle

各種checkstyle檔案參考:
Google:https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml
順便說一下Google的java程式碼規範,可以預設用這個:
https://google.github.io/styleguide/javaguide.html


中文版本:http://www.hawstein.com/posts/google-java-style.html
需要說明的是google的checkstyle的tab縮排是兩個空格,可以按需改成4個空格來使用。
Sun:https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/sun_checks.xml
HuaWei:https://gist.github.com/ownwell/c32878440216f1866842

3. 實戰:
開啟一個java檔案,右鍵點選:check current file,結果如下:

修改後:
在這裡插入圖片描述
4. 自定義checkstyle
可以參考google的checkstyle檔案,自行修改成為適合自己團隊使用的程式碼規範檔案。

checkstyle: gradle

我們配置gradle指令碼可以讓我們有兩種方式去使用checkstyle:

  1. 可以直接執行命令執行checkstyle
  2. 可以在build app的時候,觸發checkstyle任務,用來檢測程式碼規範,如果不符合checkstyle規範,停止執行,並且提供html檔案檢視錯誤詳情,直到完全符合我們定義的checkstyle規範才能繼續執行

我覺得第二種方式比較使用,使用強制性的方式保證團隊成員提交的程式碼都是符合checkstyle規範的。

操作步驟:
新建一個checkstyle.gradle檔案,內容如下:

allprojects {
    project ->
        // 程式碼規範檢查
        apply plugin: 'checkstyle'
        checkstyle {
            configFile rootProject.file('config/quality/checkstyle/checkstyle.xml')
            toolVersion '8.2'
            ignoreFailures false
            showViolations true
        }
        task('checkstyle', type: Checkstyle) {
            source 'src/main/java'
            include '**/*.java'
            exclude '**/gen/**'
            classpath = files()
        }
        tasks.whenTaskAdded { task ->
            boolean runCheckStyleOnLocalDev = "${enable_checkstyle}".toBoolean()
            boolean runCheckStyleTask = task.name == 'prepareReleaseDependencies' || (runCheckStyleOnLocalDev && task.name == 'preBuild')
            if (runCheckStyleTask) { //prepareReleaseDependencies, preBuild
                println("checkstyle run task.name :" + task.name)
                task.dependsOn 'checkstyle'
            }
        }
}

其中config/quality/checkstyle/checkstyle.xml是我們專案中checkstyle檔案的路徑。
然後在Project的build.gradle檔案中加上

apply from: './checkstyle.gradle'

執行:

  1. 直接在terminal裡面輸入:“gradlew checkstyle”,即可執行checkstyle任務,結果如下:
    在這裡插入圖片描述
  2. Ctrl+ B,執行build,檢視結果如下:
    在這裡插入圖片描述
    紅框內提供了一個檢查報告結果的路徑,我們可以開啟這個html檔案格式的report報表,檢視詳細的檢查結果,然後對比修改成符合我們定義的checkstyle規範的標準的程式碼。
    注意:
    如果錯誤太多, 輸出的訊息不一定會打印出檢查結果路徑:
    在這裡插入圖片描述
    如果沒輸出,我們就到各個工程的build\reports\checkstyle路徑下檢視即可。
    在這裡插入圖片描述

在這裡插入圖片描述

checkstyle: 155條規範

這個是checkstyle官網提供的檢查標準,截至目前一共155條。
https://checkstyle.org/checks.html
我們在編寫checkstyle的時候可以按照此規範來編寫,點選進入有詳細的屬性介紹,如FileLength:
在這裡插入圖片描述