副標:戰略型 vs. 戰術型程式設計(Strategic vs. Tactical Programming)

好的軟體設計,最重要的元素之一,是你動手寫程式時所抱持的心態

兩種主流心態#

  • 戰術型(tactical):以「盡快讓功能跑起來」為目標
  • 戰略型(strategic):投入時間打造乾淨設計、修正設計問題

許多公司鼓勵戰術型——這聽起來很合理,但長遠來看會付出沉重代價。本章主張:

  • 戰略型不僅產生更好的設計
  • 長期下來反而比戰術型便宜

本章脈絡#

後續會依序討論:

  1. 戰術型程式設計為何短視
  2. 戰略型的投資心態
  3. 投資多少才合適
  4. 新創環境下的特殊取捨

結語#

好設計不是天上掉下來的,必須持續投資才能避免小問題累積成大問題。

把投資當成「明天再做」的事,是滑坡的開始。

趕進度時很容易把清理工作延後到「下次」,但下次後面還有下次,幾乎沒有真正回頭做的一天。最有效的方式,是每位工程師在每次變更中都做一點點小投資