雖然這篇kotlin念法鄉民發文沒有被收入到精華區:在kotlin念法這個話題中,我們另外找到其它相關的精選爆讚文章
在 kotlin念法產品中有4篇Facebook貼文,粉絲數超過1萬的網紅91 敏捷開發之路,也在其Facebook貼文中提到, 最近碰到蠻多朋友或客戶的需求,想要針對 ActionFilter, Decorator, DI 的 service locator,middleware/interceptor 或是其他 static helper 相依的情況寫單元測試,卻總是不順、卡手。(尤其是 service locator) ...
kotlin念法 在 91 敏捷開發之路 Facebook 的精選貼文
最近碰到蠻多朋友或客戶的需求,想要針對 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念法 在 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 吧。