7

作爲構建工程師,我一直在尋找新的有趣方法來改進構建過程 - 這包括尋找新的有趣方法來使構建失敗!構建失敗的原因

我還沒有找到一個失敗構建的原因的規範列表......所以我想現在是時候創建一個。考慮到這一點:

什麼建造時間檢查 - 無論是明顯的還是創造性的 - 你看到失敗建立?

+2

應該是維基? – 2010-02-10 18:43:51

+0

也許;-)維基它! – 2010-02-10 18:47:10

回答

4
  • 編譯失敗
    • 生產代碼
    • 測試類
  • 任何一種測試失敗的:
    • 單元測試
    • 集成測試
    • 個功能測試
    • 性能測試
  • 不符合質量檢查:
    • 編碼約定(Checkstyle的)
    • 測試覆蓋率(四葉草的Cobertura等)
    • 錯誤模式檢測(FindBugs的,PMD,Hammurapi)
    • 複製粘貼檢測(CPD,Symian)
    • Binary com (Clirr)
+0

提及覆蓋範圍+1 – 2010-04-04 00:15:29

2

單元測試失敗(s)。

0

一些簡單的檢查編譯失敗應該被認爲是強制性的,nuff表示

導致破損構建的簽入應該是不可接受的,儘管可悲的事實是許多組織都接受這樣的做法。

如果編譯失敗:

  • ...你不會有一個二進制使用或運行。
  • ...您無法運行測試和分析以確保其正常工作。
  • ...你不能做任何其他檢查,以建立該項目。
  • ...你不能請你的客戶,因爲你沒有什麼可以顯示。

爲什麼? ,因爲建築物損壞

+1

遠遠不夠。編譯!=正在工作 – 2010-02-10 19:01:47

+1

@Pascal Thivent:我很確定我很清楚這一點;我提到了一個檢查,如果它不編譯,那麼它顯然不是**工作。即'(!編譯==!工作)'在這一點上不要求任何其他事情,因爲操作系統要求檢查。我很確定這是明顯的基礎知識。 – Spoike 2010-02-10 20:09:19

+0

編輯...至少現在我希望我解釋得更好。如果你至少不檢查編譯失敗,那麼什麼都不會起作用。咄! :P – Spoike 2010-02-10 20:25:02

2

代碼未通過自動質量檢查(FxCop等)。

1

失敗的編譯警告

7
  • 編譯失敗
  • 單元測試
  • 集成測試
  • 系統測試
  • 命名約定
  • 代碼質量
  • 迴歸測試
5

未經批准的簽入的生成。像檢入代碼那樣的東西與工作項目或錯誤修復無關。

+0

+1:經常被忽略,但在團隊環境中非常有用,每天都有支持。 – 2010-02-10 18:47:51

1

引入模塊之間的循環依賴關係(例如Java包)。

1

我的公司實際上並沒有這樣做,但是對於像我們這樣的大型遺留代碼庫,最好在未記錄的更改上失敗。如果沒有某種錯誤消息,我們的QA部門就不會知道對這些更改進行測試,這很可怕!

1

檢查不同jar文件(Java)中的重複類(相同的包和類名)。

0

代碼覆蓋率降低或低於可接受的閾值。