Mike Lue

敏捷開發

軟體設計關乎抽象化,而抽象化需要訓練與練習。

缺乏抽象能力,無法靠 SCRUM 或 AGILE 流程來彌補。

最糟的情況,就是先拉在褲子裡,然後下個 Sprint 再洗褲子。

需求/系統分析

描述人類必須如何做事,而不是電腦將如何做事。

IT 專業

有責任感的程式設計師會學習程式語言、框架與工具背後的哲學。

你不必在一天內知道所有事情, 你該做的是每天多學一點。

不負責任的程式設計師會自行發明錯誤處理方式、容易出錯的設計等等。

簡單

寫程式

「感覺」不能作為好風格的理由。

單元測試讓你能檢視自己的設計。

複雜的單元測試意味著複雜的設計,
這代表設計不佳,
也指出了容易出錯的程式碼片段。

單元測試

  1. 你不知道未來會需要測試程式碼多少次。
  2. 每測試一次程式碼,你就必須付出 $1。
  3. 撰寫單元測試只要付出 $5,未來便能免費執行測試。

沒有他媽的藉口。

學習

撰寫文件

用撰寫文件來釐清思緒。

如果你能有效地寫作,你就能有效地寫程式。

把自己當成你的讀者;他無法與你面對面交流。

不稱職的程式設計師同樣會寫出難以閱讀的文件。

工作哲學

在發明任何事物之前,先試著閱讀框架、語言與工具文件的目錄。

不稱職程式設計師的遞迴過程:

全貌

無知