這又是一堂挑戰大腦極限的兩天精實課程(91的課程有哪堂不是呢?),必須承認過了下午三點左右,大腦就呈現過載的狀態。在這堂課程裡我學到了如何把鋼彈模型拆解成積木,再組成鋼彈。在這個過程中,都需要由單元測試來做你的保險,再沒有測試的情況下,做任何的重購與新需求都是相當危險的事,相信大家都體驗過。
在這建議想去上這堂的人,先去上 91 的單元測試 (標配) 與極速開發 (選配),你說為什麼要上極速開發?這樣才跟得上 91哥的開發速度阿!
至於整堂課程的主要業務,是從遺留程式碼建立單元測試,然後教你怎麼在測試的輔助下,『快速』及『無錯』拆 DI 與整合 DI,再進入AOP的部分,怎麼去設計AOP。整個過程都是用實戰的方式,從你在業務上會遇到的問題,從需求角度的面向,甚至是最基本的需求敘述,不要用程式碼去跟別人溝通,『等於True這種話語,作為情境的敘述是非常不洽當的』,最後完成的程式,我是曾想做,卻不知道如何達成的狀態。
很多東西你覺得你會使用,但其實你只是用<你覺得應該怎麼用>,而去用他,但你沒有真正了解他,像是單元測試,像是 Interface。整堂課會有很多震撼點,你習以為常的元件或工具,真正的用法不是你所想的那樣,他可以用的很簡單(Simple )。
當然也會有你從沒見過的東西,由於我身處的環境過為封閉,除了自己去找去學以外,在業務上很難會有新的東西,也因此從未接觸任何的 Decorator 與 Factory,這對我而言完全是全新的領域,雖然有在 Google 上做惡補,但根本不會實做,就算實作了也只是亂做,最終直到課堂上才體悟他真正的設計目的,及他的美與藝術。
事實上,在程式的領域上自覺我還是菜蟲掉滿地的菜鳥,每一次的上課都會補充新的名詞,新的工具,新的方法,雖然自己是可以研究的,但是有個名為 91 的巨人在你面前,就花個門票買個肩膀上的位置,讓他帶你看得更高更遠。(跪謝91哥)
課程傳送門:
Clean Coder:DI 與 AOP 進階實戰,202001 第三梯次
如有指正之處,歡迎隨時提出