Steve Berczuk
被忽視的建置腳本#
即使是在其他方面紀律嚴明的團隊,也常常忽略建置腳本(build scripts)。原因可能包括:
- 認為建置腳本只是不重要的細節
- 認為建置很複雜,需要交給「發布工程」的專人處理
- 害怕去碰建置腳本
然而,無法維護的建置腳本和寫得差的程式碼一樣,會造成重複、錯誤和相同程度的問題。
建置腳本也是程式碼#
為什麼有紀律的開發者會把建置當作次要工作?常見的辯解:
- 建置腳本用的語言和原始碼不同
- 建置「不算是」真正的程式碼
這些理由站不住腳,因為:
- 大多數軟體開發者樂於學習新語言
- 建置過程產生可執行的成品,供開發者和最終使用者測試和運行
- 沒有建置,程式碼就毫無用處
- 建置定義了應用程式的元件架構
- 建置決策能讓程式碼和開發流程更簡潔
建置的價值#
理解並掌握建置流程能帶來許多好處:
- 簡化整個開發生命週期,降低成本
- 讓新開發者快速上手:一個簡單易執行的建置流程至關重要
- 自動化建置配置確保多人協作時的一致性,避免「在我的機器上可以跑」的問題
- 許多建置工具可以執行程式碼品質報告,提早發現潛在問題
- 花時間理解建置,你就能幫助自己和團隊中的每個人
建置腳本太重要了,不應該交給別人處理。應用程式在建置完成之前都不算完成。程式設計的工作要到交付可運行的軟體後才算結束。
正確處理建置#
- 用錯誤慣用語寫的建置腳本難以維護和改進
- 花時間理解正確的修改方式是值得的
- 使用錯誤版本的依賴或錯誤的建置配置,都可能導致 bug
傳統上測試交給「品質保證」團隊,但現在我們知道測試是開發的必要部分。同理,建置流程也需要由開發團隊擁有和負責。