2017年6月14日 星期三

自動測試與 TDD 實務開發-Day1心得

https://skilltree.my/events/7fbac

雖然課程名稱是測試與TDD,但是如同課程簡介所說:「哥不是教你測試,我們教的是開發」。
當你想開始測試時卻發現似乎有些code很難測試,例如function需要相依外部資源,沒辦法單獨測試此function。
這個時候你就會發現或許你的程式中潛藏著高耦合低內聚的危害。
測試就像一面照妖鏡:「好測試的code不代表code寫的好或是架構好,但是難測試的code一定表示高耦合的code」
課程中不僅僅只是談到測試,而是包含OO原則、開發、軟體設計等議題讓學員們思考。


課程中另外讓筆者印象深刻的反而不是關於測試相關的東西,而是關於開發者對於開發環境的準備以及熟悉度,這會讓你的效率提升至少一倍。
1. 首先是vs(visual studio)的code-snippet功能。
例如只要打ctor後按下tab鍵就會自動產生建構子(constructor),打prop可以產生field等。這些都可以省下大量時間。

2. vs的快速鍵。
例如程式碼註解、反註解;執行測試;用搜尋取代滑鼠滾輪尋找程式片段等。

3. 外部工具。
課堂中提到wox這套工具可以取代許多系統的功能(比如說windows中非常緩慢的檔案搜尋功能)。wox還有許多外掛可以安裝,可以使用非常簡短的指令來達成許多事情,例如幫你google、線上翻譯、搜尋並開啟程式等。