搜尋

首頁  >  問答  >  主體

java - 怎麼將程式碼檢查前置?

目前我所了解的程式碼檢查,通常都是在持續整合階段來做。這麼做雖然能夠保證程式碼質量,但個人認為依然成本有點大主要體現在:
一個開發人員好不容易在自己分支上開發完成,然後push到伺服器上,然後持續集成檢查程式碼,發現程式碼風格不通過,這整個過程回饋的時間太長了。

目前開發的java專案希望能將程式碼檢查如(checkstyle,pmd等)這些檢查必須在本地提交前通過檢查,而不是在push到程式碼倉庫之後再做,希望達到的目標如下:

  1. 提交前必須通過程式碼檢查,否則不允許提交

  2. 最好有工具支持,且不要依賴IDE

  3. 程式碼檢查工具的設定檔最好能做版本管理

目前想到的解決方案(還未嘗試):
在maven中集成checkstyle等插件
在git/hooks中用腳本調用maven 進行驗證,驗證通過提交,失敗則不允許提交

我想大声告诉你我想大声告诉你2761 天前932

全部回覆(3)我來回復

  • 巴扎黑

    巴扎黑2017-05-31 10:37:13

    可以讓開發人員只push到某個不能發布的分支(例如dev),而正式發布的分支(例如master)開發人員是無權直接push的。

    在伺服器上安裝checkstyle等插件,如果檢查通過就把dev合併到master,檢查不通過就不允許合併。

    回覆
    0
  • 巴扎黑

    巴扎黑2017-05-31 10:37:13

    你已正解,git hook就是用來做這些事的

    回覆
    0
  • 为情所困

    为情所困2017-05-31 10:37:13

    我們是用sonar qube做的檢查,配合jenkins在持續集成時檢查。

    不規定必須檢查通過才能提交,因為我們給開發人員後面修改的時間。

    個人認為,只要程式碼可編譯、單元測試、整合測試都通過之後,就可以發布。程式碼檢查出來的問題可以放到下一個版本迭代裡去做,開發組長盯著開發人員修改就行了。

    回覆
    0
  • 取消回覆