巢狀的 if/else block 在實務 legacy 產品上履見不鮮,在很多時候其實可以用多型的設計來取代這些重複的判斷式。
月份: 2021 年 1 月
低谷,基本上就是進入門檻,門檻越高,越難通過,通過後從稀缺性所獲得的價值就更大。那麼該如何選擇戰場,發揮自己獨特的價值呢?
讓大家依據實務需求完成代碼、加入單元測試、code review 、code smells 辨識,且依照成員的 legacy code 現場示範重構並指導練習重構、測試案例探索/分群/排序、邏輯樹拆分、TDD 循環與 baby step、迭代堆砌產品代碼增量。
生產力 = 你的設計功力(能力) + 最佳化開發環境與設定(神兵) + 對的開發方式(招式)
【極速開發】就是用來解決實務上大家總說「時間不夠」的問題,因為時間不夠,所以我沒法子寫單元測試,沒法子重構,沒法子 TDD,沒法子 code review,沒法子把事情作到最好。
我認同「時間不夠」是個問題,然而卻很少人去改善或解決這個問題。各位將會從此學到,如何建立自我刻意練習的模型,將所有工具的整合起來發揮最大綜效,透過正確的開發方式與順序,讓你寫代碼時能行雲流水,並且兼顧設計、品質與生產力。
單元測試是開發軟體產品過程中,與品質、設計相關最重要的基本工程實踐,如果不會單元測試,很多重構無從下手。如果不會單元測試,無法駕馭測試驅動開發。
單元測試是開發軟體產品過程中,與品質、設計相關最重要的基本工程實踐,如果不會單元測試,很多重構無從下手。如果不會單元測試,無法駕馭測試驅動開發。
學習 TDD 必看的聖經本,當然就是 Kent Beck 的 TDD by Example。在取得 Kent Beck 授權之後,將書中每一步程式碼的演進,都放到 GitHub 的 commit history 上分享給各位讀者參考,讓大家既能專注在每一步的變化,又能兼顧全局,還可以在任何一步的 sample code 繼續往下練習。