最近碰到蠻多朋友或客戶的需求,想要針對 ActionFilter, Decorator, DI 的 service locator,middleware/interceptor 或是其他 static helper 相依的情況寫單元測試,卻總是不順、卡手。(尤其是 service locator)
總把測試寫得牛鬼蛇神的,即使看到了綠燈,這測試活超過一個月之後,就人見人厭、爹不親娘不愛的。
更甚至總覺得寫測試很花時間,維護起來更花時間。
其實這些有一半是產品設計不良,有一半是測試設計不良。
(說難聽點,就不是測試的問題,是工程師能力的問題)
很多時候,沒見過人家可以怎麼行雲流水地在 legacy code 上整理、抽絲剝繭,一路用工具重構到具備可測試性,再把測試重構到跟人話、規格、需求情境一樣,是很難想像 #原來可以這樣寫Code 的。
今年的梯次已滿,明天一月的 【#針對遺留代碼加入單元測試的藝術】,只剩下 5 席,live demo 支援 java/kotlin, python, php 與 C#。
參考:https://dotblogs.com.tw/hatelove/2020/08/21/Unit-testing-effectively-with-legacy-code-202101
會不會到時已經可以支援 node.js 與 Ruby 我也不知道,但基本上一法通、萬法通,概念都一樣。
#動態語言其實相對單元測試好寫很多,不寫真的是太浪費了。(寫得醜,更浪費人生)
想要觀望晚點才報名的同學,恩....good luck....luck 可能也沒有用,你的問題可能不在寫程式,而是在執行力上。
「kotlin念法」的推薦目錄:
- 關於kotlin念法 在 91 敏捷開發之路 Facebook 的最佳貼文
- 關於kotlin念法 在 91 敏捷開發之路 Facebook 的精選貼文
- 關於kotlin念法 在 91 敏捷開發之路 Facebook 的精選貼文
- 關於kotlin念法 在 kotlin發音2022-在Facebook/IG/Youtube上的焦點新聞和熱門 ... 的評價
- 關於kotlin念法 在 kotlin發音2022-在Facebook/IG/Youtube上的焦點新聞和熱門 ... 的評價
- 關於kotlin念法 在 Kotlin 怎麼念、Kotlin、Kotlin 鐵人在PTT/mobile01評價與討論 的評價
- 關於kotlin念法 在 Kotlin 怎麼念、Kotlin、Kotlin 鐵人在PTT/mobile01評價與討論 的評價
- 關於kotlin念法 在 Kotlin Collection全方位解析攻略: 精通原理及實戰 - YouTube 的評價
- 關於kotlin念法 在 Kotlin实战 的評價
kotlin念法 在 91 敏捷開發之路 Facebook 的精選貼文
2021 年的 【#針對遺留代碼加入單元測試的藝術】梯次 8/26 00:00 開始公開報名囉,上課日期在 2021/1/9 (六)。( 8/25 下午開放給前一梯次的等待隊列學員報名,目前已有 8 位報名成功)
《我不需要看簡介就手刀報名》:https://docs.google.com/forms/d/e/1FAIpQLScEXdcziYwugx4TXwkO0zXOq6lJ110knnk-egzXM8HxhT_OUA/viewform
《這門課能幫助我解決哪些問題》:https://dotblogs.com.tw/hatelove/2020/08/21/Unit-testing-effectively-with-legacy-code-202101
雖然 #單元測試 以及 #遺留代碼 的概念是不分語言的,但是這門課我能 live demo 的語言還是有限的,目前 live demo 的語言限定在 Java, PHP, C#, Python。上課的內容、步驟、題目與解答,則也有支援 Kotlin 的版本。(期待自己能在 2021 年一月的時候,支援 node.js 的版本)
Ruby 我只能提供相關的 reference。
※ 註:如果你有預算與流程上的相關需要,可開立今年的三聯式發票,不用等到上課唷。
kotlin念法 在 91 敏捷開發之路 Facebook 的精選貼文
敲碗敲到碗快破了嗎?是的,【#針對遺留代碼加入單元測試的藝術】今年十一月梯次,預計加入支援 #Python 與 #Kotlin 了!
課程介紹與報名:https://dotblogs.com.tw/hatelove/2020/05/08/Unit-testing-effectively-with-legacy-code-202011
—
Kotlin 本身的語言特性讓單元測試沒那麼容易寫,然而框架則優雅地解決了這問題。
Python 本身的語言特性則讓單元測試非常好寫,但因為 Python 寫法太自由,所以因應不同的寫法,要有對應不一樣的解決方式。(例如其他語言都以 class/struct 為基底, Python 跟 JavaScript 卻可以直接以 function 為基本元素)
—
#註:因為十一月梯次開始的內容同時支援 C#, Java, Kotlin, PHP, Python 五個語言,上課示範將以學員使用最多的語言進行 live coding,以及若在該 lab 不同語言可能有特別值得一提的關注點,也會額外拉出來講解。
各種語言我都會提供對應的 repository 與每個step 的 commit history, 每個段落也都有每一步的操作影片,供上課時學員可以對著 commit history 在 IDE 上練習,所以請不用擔心跟不上,或是聽懂卻無法跟著實作的問題。
重點在概念,上課或課後的實作練習,有完整的 branch, commit history (重點筆記都在 commit comments 上了),以及對應的影片可以參考。
不怕你練,怕你不練。不怕你問,怕你不問。
—
需求跟問題是中性的,是不分語言的。撇除語言特性不說,在 legacy code 上要加入單元測試,會碰到的問題萬變不離其宗,學會這個核心的概念,你就不會再怕 legacy code 了。
—
今天晚上我會把 python 的內容也補上該課程介紹中。
該梯次目前只剩下 #四個位置,錯過就等2021 吧。
kotlin念法 在 kotlin發音2022-在Facebook/IG/Youtube上的焦點新聞和熱門 ... 的推薦與評價
发音指南:学习如何用母语波兰语中的“Kotlin”发音,“Kotlin”英文翻译和音频发音.kotlin怎麽讀,"kotlin"的發音kotlin的發音,kotlin的讀音,kotlin怎麼讀,kotlin怎么 ... ... <看更多>
kotlin念法 在 Kotlin 怎麼念、Kotlin、Kotlin 鐵人在PTT/mobile01評價與討論 的推薦與評價
发音指南:学习如何用母语波兰语中的“Kotlin”发音,“Kotlin”英文翻译和音频发音.kotlin怎麽讀,"kotlin"的發音kotlin的發音,kotlin的讀音,kotlin怎麼讀,kotlin怎么 ... ... <看更多>
kotlin念法 在 kotlin發音2022-在Facebook/IG/Youtube上的焦點新聞和熱門 ... 的推薦與評價
发音指南:学习如何用母语波兰语中的“Kotlin”发音,“Kotlin”英文翻译和音频发音.kotlin怎麽讀,"kotlin"的發音kotlin的發音,kotlin的讀音,kotlin怎麼讀,kotlin怎么 ... ... <看更多>