雖然這篇鍵盤驅動程式錯誤鄉民發文沒有被收入到精華區:在鍵盤驅動程式錯誤這個話題中,我們另外找到其它相關的精選爆讚文章
在 鍵盤驅動程式錯誤產品中有1篇Facebook貼文,粉絲數超過1萬的網紅91 敏捷開發之路,也在其Facebook貼文中提到, 【念念不忘,必有迴響】 怎麼勾起大家心裡面那把快熄掉的火,怎麼讓火旺起來在四處蔓燒,怎麼讓培訓的效果不只是培訓的那兩三天,而是大家有動機、想在實務上用來解決問題並改善痛點、想趕快練習、想趕快分享好東西給其他人,這股衝動、堅持、行動,才是 #專業點火師 的價值。 #有用就有用_沒用就...
鍵盤驅動程式錯誤 在 雙雙 Eberin.Kou Instagram 的最佳解答
2021-04-03 17:36:58
💐💙 . 沒意外的話,繡球花就發到這裡了。 為了配合繡球,找了好多藍色的照片, 慢慢拼湊出我的第一個同色系版面。 . 前兩天預告的第二篇繡球花遊記終於上線。 寫到一半,家裡電腦突然顯示鍵盤驅動程式錯誤, 幸好當時文字部分已經完成,不然一定超崩潰。 老公不在,蟑螂就出來開派對,連電腦也不安份了🤷🏻♀...
鍵盤驅動程式錯誤 在 91 敏捷開發之路 Facebook 的最佳解答
【念念不忘,必有迴響】
怎麼勾起大家心裡面那把快熄掉的火,怎麼讓火旺起來在四處蔓燒,怎麼讓培訓的效果不只是培訓的那兩三天,而是大家有動機、想在實務上用來解決問題並改善痛點、想趕快練習、想趕快分享好東西給其他人,這股衝動、堅持、行動,才是 #專業點火師 的價值。
#有用就有用_沒用就沒用
#雖然我覺得上課順序應該反過來
※ 參加我培訓的學員還有個特色,通常 #自費 跟 #老鳥 的比例非常高,至少都是 1/3 起跳,#這就是口碑
① 演化式設計:測試驅動開發與持續重構:https://dotblogs.com.tw/…/201907-evolutionary-development-t…
② 單元測試實戰營(針對遺留代碼):https://dotblogs.com.tw/…/unit-testing-effectively-with-leg…
③ 極速開發:https://dotblogs.com.tw/…/2019/02/18/extreme-developing-tra…
201811 重構與TDD實戰營
×
201901 單元測試實戰營
×
201905 極速開發
【 91 敏捷開發之路 三堂課心得集大成之文超長慎入】
一切是從某次和Scar Su的IDP開始,建議去看91的TDD 30天文章來學習,雖然之後TDD並沒有太實質的學習成果,卻間接認識了91這位大師以及開啟往後圍繞其周圍一切知識的大門。
半年多來上了三堂課,前後花了一個月左右的薪水、數不盡的白天與黑夜,收穫,真的很多。
▎重構與TDD實戰營
當時一股腦想學習TDD的我,上班時不經意看見此課程資訊,心跳加速、一股熱血湧上心頭,毫不猶豫的揪了 蔡孟哲 學長衝一發,學長的爽快答應,或許才是促成一切學習的開始。
「本來看到這個課程就有想上了,你揪我就覺得該衝一發。」
學習的路上有時候大概就是需要一點衝動以及一個添燃油的朋友,才能脫離猶豫往前衝吧。
回到課程,「TDD」這件事情並不只是單純測試先行,測試案例的產生乃是在明確的需求底下所產生,而追求明確的需求這件事本身是值得花時間進行的。而當需求討論出現瓶頸時,透過錯誤的舉例,來逼出需求方正確的回答,讓雙方的認知達到一致。當然這個需求不只是驗收情境,透過TDD不斷的由上而下的進行,在定義程式內物件職責時的需求方就是developer自己了。
比起TDD的紅燈→綠燈→重構的循環、一次只做一件事情的準則、測試或產品代碼都必須能說話、各種重構技巧讓程式碼乾淨且降低耦合等等的基本要求,在TDD上最重要的莫過於還是要不惜一切的榨出明確需求,不要害怕問蠢問題,更不要像在課堂時和學長pair時被91糾正「不要放棄溝通」的我們一樣,最終產出就是一堆廢code😂。
▎單元測試實戰營
上課前靠著自學研究,大概知道怎麼去寫單元測試,知道怎麼使用隔離框架,也在專案上嘗試過,但這個領域絕不可能僅有自己知道的那樣,也因此前堂課結束後不久便決定接著報名此課程。
雖然在課堂中一些基本知識相對已較熟悉,但有些知識或許要對的人講一遍,才能深入腦海中吧XD。例如替legacy code加測試的大絕之一--將耦合之處抽成protected,並在子物件下override此部分來達成隔離,95%以上案例皆可如此進行的這個方法,在「單元測試的藝術」一書中便已看過,當時卻沒有特別的感覺更不曾套用過,課後回去在工作上使用才發現這 太 猛 了,我想這概念就跟一個男生不聽媽媽的話但卻很聽女朋友的話的概念一樣吧😅。
不過這堂課最有價值的還是最後在工作實務上的各種探討及經驗分享,例如0測試的專案如何開始、code coverage之於團隊的意義、與第三方界接的各種眉眉角角、CI的最高準則性、團隊/個人如何看待單元測試等等,即便當時下課時間已經delay超多(不小心忘記91的課後面不能輕易安排行程RRR),但仍然捨不得走,每一項議題都是大家工作上的切身之痛,多聽一些就是多賺一些,也是對未來多一些幫助。
▎極速開發
在前兩堂課pair寫code時,就好幾次被91碎念我們的開發方式不太行,又慢又沒效率(之類的),開始只覺得寫得快又有什麼用,還是要等腦子能跟上才有意義,但隨著一次又一次91三刀流demo的洗禮下,漸漸覺得牙癢癢手癢癢。這次在學長的鼓吹下,也決定一起來學學這樣的開發方式。
這堂課程終於是個有類似講義的課程😂。隨著91的教學,vim來到了我的visual studio中,也獲得了91個人常用的自訂指令,滑鼠的地位逐漸母湯。但這堂課不僅於此,透過ReSharper的輔助,各式template的設定、自訂Quick Fix等等,把所有許多重複的、麻煩的事情,透過IDE的協助來簡化開發,讓developer關注在所需關注的事情即可。
Developer把每一個開發時的小動作(甚至是右手在滑鼠和鍵盤間移動)做簡化,每多擠出的一點點的時間,都可以用在需求的關注、架構設計等等其他本就要花時間的事情上,用最快的速度把腦裡出現的code投射到editor上,更有效率的提升工作效率以及價值。我想這才是這門課的精隨所在吧。
▎總結
上過91的課程都知道,能獲得的東西遠比課程名稱還多很多,沒有什麼值不值得,只有願不願意給自己打開門、試著站在巨人的肩上而已。
而不論是TDD、重構、UT、極速開發,練習、大量刻意的練習,才是精進的唯一之道。
▎影片 - Tennis Kata
以TDD方式完成tennis的計分功能。
從起初的一小時,透過不斷的練習、91的review、和學長的討論調整下,進入30分、27分、23分、20分、19分、17分到近期版本的14分,雖然仍有些失誤,但我想不完美的完美,更能驅使一個人繼續努力吧!