【Kent Beck 的測試驅動開發,書籍勘誤】ch14, p.79 漏了一段測試程式碼。
如圖,感謝讀者回報問題。(可能要等第三版才能更新這個部份了,抱歉。)
相關資訊請見:https://tdd.best/book/tdd-by-example/
前兩個章節的勘誤第二版應該可以修正。
「kent beck 的測試驅動開發」的推薦目錄:
- 關於kent beck 的測試驅動開發 在 91 敏捷開發之路 Facebook 的最讚貼文
- 關於kent beck 的測試驅動開發 在 91 敏捷開發之路 Facebook 的最讚貼文
- 關於kent beck 的測試驅動開發 在 91 敏捷開發之路 Facebook 的精選貼文
- 關於kent beck 的測試驅動開發 在 [心得] RIP TDD(BY Kent Beck) - 看板Soft_Job - 批踢踢實業坊 的評價
- 關於kent beck 的測試驅動開發 在 91 敏捷開發之路- 來了來了!《Kent Beck 的測試驅動 ... 的評價
- 關於kent beck 的測試驅動開發 在 Kent Beck的測試驅動開發:案例導向的逐步解決之道 - YouTube 的評價
- 關於kent beck 的測試驅動開發 在 Books/测试驱动开发.pdf at master 的評價
- 關於kent beck 的測試驅動開發 在 一窩蜂驅動開發 - Northern Wind 的評價
kent beck 的測試驅動開發 在 91 敏捷開發之路 Facebook 的最讚貼文
跟各位同步一個讓人興奮的消息,我正著手準備透過設計題目,從需求分析、驗收情境探索、搭配大量的實戰演練以及解說,預計錄成影音版的培訓內容,讓購買的學員能無限次的觀看以及反覆練習。
這是一門相對不適合實體培訓的內容,因為實戰演練的篇幅極長(取決於不同語言,大約 140~160 個 commits),如果是實體培訓,可能會參加的學員能力的落差,導致上課的節奏不好拿捏,而一旦中間放棄了,後面就會放空了。這不是我要的。
我希望這樣大量實戰演練的過程,能讓大家一步一步動手跟著做,甚至養成一種習慣,想收收心、想靜靜心、想動手寫寫程式的時候,能打完一整套的套路,感到舒服、平靜,甚至刺激出新的想法。(我自己在一個語言中起先練習的 10 次,每次版本都不一樣)
如果你對這樣的影音課程有興趣,就來填一下這個 google form 吧:https://forms.gle/19u7WNk5TEeWWycM8
當我準備好之後,將第一時間通知有填寫表單的朋友,前 10 位購買的同學,我將提供其他優惠。
#無限期無限次觀看課程影片
#僅限本人
#若有更新版本將直接提供給曾購買過的學員_不另收費
--
額外說明一下幾個課程準備的緣由:
➀ 有海外的朋友因為疫情跟差旅的關係,想上課卻苦無機會。而我目前課程內容方式的安排,得實體上課才會有最好效果。我不希望只是為了擴大收益,而犧牲了培訓效果。
實體培訓 > 線上直播 > 影音,如果上課的形式不變,那連線上直播的效果都過不了我的標準要求。
➁ 今年的培訓日期都已經定下來,每個梯次也都已經額滿了,我其他時間已經全被 企業客戶的 coaching 包下來了,所以也擠不出時間來安排培訓。
但我又真心覺得,早一年、早半年、早幾個月,能早點學到東西,可能就可以幫大家的開發人員職涯曲線,斜率整個增大,能為各位帶來的效益,提早一點時間學會,就能多獲得許多成果。
我的時間有限,要能滿足更多想上課的朋友,我得做點嘗試。
➂ 我一直想設計這樣「大幅、巨量演練」的培訓課程,但限於現在支援的語言越來越多,實體上課的時間兩天塞在週末,已經會造成一般上班族週末沒得休息的負擔,學員數一多,大家能力落差不同,會導致上課節奏難以掌握。
很多前置技能的不熟悉,也會影響演練的速度。
所以,我想這種培訓內容,最佳形式是屬於這樣可重複觀看、練習、提問、更新的影音解說與示範的培訓。
以上三點,是我準備這次內容的最主要緣由,感謝許多有興趣的朋友的響應,我會依據大家填寫的語言統計數據,來決定影音課程的優先順序。(對,不同的語言,我都會錄成不同的版本,盡可能滿足大家在實作演練過程中,降低認知負擔)
kent beck 的測試驅動開發 在 91 敏捷開發之路 Facebook 的精選貼文
週末剛結束的 #TDD與持續重構 兩天培訓,感謝 Ruby 界的專家 蒼時弦也 的認可跟參與,跟我們一起度過愉快(?) 跟充實 的兩天培訓活動。
他也是課上少數上課之前就把《Kent Beck 的測試驅動開發》看完的同學,所以他應該很有感覺,只看書、看 code ,總是少了一味系統化整理、引導思考、實作卡關不順、看 live 示範重構、live 示範 TDD,然後再次動手實作演練,更能印證書裡面到底在講些什麼。
註:他們那一組也是第一組完成需求的,雖然聽完解說之後,就馬上忍不住動手寫了另一版乾淨簡潔的版本 XD
kent beck 的測試驅動開發 在 91 敏捷開發之路- 來了來了!《Kent Beck 的測試驅動 ... 的推薦與評價
來了來了!《Kent Beck 的測試驅動開發》到貨啦!! 那一排的書也都是我推薦的,如果你想要developer 職涯能持續保持初心、獲得快樂、成長、享受團隊合作、用正確舒服 ... ... <看更多>
kent beck 的測試驅動開發 在 Kent Beck的測試驅動開發:案例導向的逐步解決之道 - YouTube 的推薦與評價
先求有,再求好,後求美 Kent Beck的測試驅動開發 ,帶領你快速突破軟體開發的重重難關! 讓你不再糾結、不再徬徨、不再浪費寶貴的時間! ... <看更多>
kent beck 的測試驅動開發 在 [心得] RIP TDD(BY Kent Beck) - 看板Soft_Job - 批踢踢實業坊 的推薦與評價
前言:
本翻譯有翻譯不精準且有自行增添字眼,請邊參考原文對照著看。
https://www.facebook.com/notes/kent-beck/rip-tdd/750840194948847
=============
TDD是一種用測試來進行開發的模式,所以他的本質其實是為了開發而非測試。
Kent Beck(設計模式的先驅者)在RIP TDD裡舉出了8個你應該使用TDD的理由。
1. Over-engineering(過度設計):
EX:
今天你被授命要做一個會員登入的系統,你老闆只要你串facebook登入,結果你多寫了一個google登入。
這樣就過度設計了,程式碼裡不要擺用不到的東西,會造成後面維護上的困擾。
TDD每一個測試都是需求,而你不應該寫需求以外的程式,TDD力求以最簡單的方法讓測試通過。
2. API feedback(介面回饋):
因為TDD會根據使用者的需求寫測試,當你發現 你的介面不敷使用於測試時,就會去修改介面,這會使你的介面越來越貼近使用者。
3. Logic errors(邏輯錯誤):
TDD裡面不會有任何的邏輯(if else)判斷,所以如果出來的結果不符合就是你的method有問題。
而且TDD一次只會有一個測試失敗,所以一定是你剛增加的code有問題。
4. Documentation(文件):
每個工程師都會跟你說他討厭程式沒有文件,但實際上會寫文件的很少,後面會繼續維護的更少了。
TDD的測試即文件,當你看完測試你就會瞭解這隻程式怎用了。
而且如果需求改變,你的測試也會改變,就會很自然地維護它了。
5. Feeling overwhelmed:
標題無關。
TDD的宗旨是先寫測試在開發,意味著即使沒有程式依然可以先寫測試,
6. Separate interface from implementation thinking(從邏輯來實踐獨立介面):
EX:
今天有個需求是串金流API,但是開發API的人說他要等上線前10天才能給你測試。
TDD遇到這種問題時就會做一個介面,測試時實作這個介面,去模擬API的行為。
這樣你就不用因為別人拖延自己的進度。
7. Agreement(同意)
當你把需求解掉了以後,你要如何說服發出需求的人妳已經把問題解決掉了?
顯然用測試是一個好方法。
8. Anxiety(焦慮)
當老闆問你一切是否OK時,TDD可以不用讓你提心吊膽的說OK。
工商廣告時間XD:
https://skilltree.my/events/mbh
十分推薦,我覺得每個程式設計師都應該聽聽TDD,而91的課淺顯易懂,
絕對讓你滿載而歸。
我本身就是學員之一,聽完有如獲重生的感覺。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.30.31
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1446442345.A.17D.html
更何況套一句FB流行的話。
你有想過QA測你的程式的心情嗎?沒有,因為你只想到你自己。
沒有測試的情況下,你敢跟QA保証說沒有任何錯誤嗎?
※ 編輯: y2468101216 (118.163.30.31), 11/02/2015 13:57:41
我打算有空就翻譯這樣。
※ 編輯: y2468101216 (118.163.30.31), 11/02/2015 14:36:10
再強調一遍TDD是開發模式,只是他利用測試作為開發工具,一魚兩吃。
phpunit好用很多。facebook/webdriver的文件寫的就是比nightwatch.js爛。
我最近應該會fork facebook/webdriver的example,2年前的範例到現在都不能用了= =。
※ 編輯: y2468101216 (118.163.30.31), 11/03/2015 09:22:10
... <看更多>