Steve Berczuk

被忽視的建置腳本#

即使是在其他方面紀律嚴明的團隊,也常常忽略建置腳本(build scripts)。原因可能包括:

  • 認為建置腳本只是不重要的細節
  • 認為建置很複雜,需要交給「發布工程」的專人處理
  • 害怕去碰建置腳本

然而,無法維護的建置腳本和寫得差的程式碼一樣,會造成重複、錯誤和相同程度的問題。

建置腳本也是程式碼#

為什麼有紀律的開發者會把建置當作次要工作?常見的辯解:

  • 建置腳本用的語言和原始碼不同
  • 建置「不算是」真正的程式碼

這些理由站不住腳,因為:

  • 大多數軟體開發者樂於學習新語言
  • 建置過程產生可執行的成品,供開發者和最終使用者測試和運行
  • 沒有建置,程式碼就毫無用處
  • 建置定義了應用程式的元件架構
  • 建置決策能讓程式碼和開發流程更簡潔

建置的價值#

理解並掌握建置流程能帶來許多好處:

  • 簡化整個開發生命週期,降低成本
  • 讓新開發者快速上手:一個簡單易執行的建置流程至關重要
  • 自動化建置配置確保多人協作時的一致性,避免「在我的機器上可以跑」的問題
  • 許多建置工具可以執行程式碼品質報告,提早發現潛在問題
  • 花時間理解建置,你就能幫助自己和團隊中的每個人

建置腳本太重要了,不應該交給別人處理。應用程式在建置完成之前都不算完成。程式設計的工作要到交付可運行的軟體後才算結束。

正確處理建置#

  • 用錯誤慣用語寫的建置腳本難以維護和改進
  • 花時間理解正確的修改方式是值得的
  • 使用錯誤版本的依賴或錯誤的建置配置,都可能導致 bug

傳統上測試交給「品質保證」團隊,但現在我們知道測試是開發的必要部分。同理,建置流程也需要由開發團隊擁有和負責。