敏捷軟體開發-第六章
敏捷軟體開發第六章是關於一個保齡球程式的實踐過程。
主要涉及了兩個主題:測試驅動和重構--這兩個概念都很好。
但我覺得這篇文章不好,感覺編寫程式碼的過程沒有很清晰的思路,過度依賴測試用例。我完全同意它結論部分的反方意見。
----
結論
完成本章後,我把它釋出在ObjectMentor的web站點上。許多人閱讀後給出了自己的意見。有些人認為這篇文章不好,因為其中幾乎沒有涉及物件導向設計方面的任何內容。我認為這種回應向物件設計的情形。事實上,僅有Scorer類稍微有一點物件導向的味道,不過那也只是一個簡單的分割,而不是真正的OOD。
另外一些人認為確實應該有Frame類。有人竟然建立了一個包含Frame類的程式版本,該程式比上面所看到的要大得多,也複雜得多。
一些人覺得我們對UML有失公正。畢竟,在開始前我們沒有做一個完整的設計。餐巾紙背面的有趣的小UML圖不是一個完整的設計。其中沒有包括序列圖。我認為這種看法更加奇快。就我而言,即使在圖6.2 中加入序列圖,也不會促使我們放棄Throw類和Frame類。事實上,那樣做反而會使我們覺得這些類是必需的。
圖示是不重要的嗎?當然不是。嗯,實際上,對於某些我所碰到的情形是不需要的。就本章中的程式而言,圖示就沒有任何幫助。他們甚至分散了我們的注意力。如果遵循這些圖示,所得到的程式就會具有很多不必要的複雜性。你也許會說同樣也會得到一個非常易於維護的程式,但是我不同意這種說法。我們剛剛瀏覽的程式是因為易於理解所以才易於維護的,其中沒有會導致該程式僵化或者脆弱的不正當依賴關係。
所以,是的,圖示有時是不需要的。何時不需要呢?在建立了它們而沒有驗證他們的程式碼就打算去遵循它們時,圖示就是無益的。畫一幅圖來探究一個想法是沒有錯的。然而,畫一幅圖後,不應該假定該圖就是相關任務的最好設計。你會發現最好的設計是在你首先編寫測試程式碼,一小步一小步前進時逐漸形成的。
---
我同意上面三個反方的觀點:
1 沒有進行物件導向的設計,而這個例子用物件導向設計應該很清晰
2 確實應該有Frame類,看完程式,我非常有衝動想以自己的物件導向的設計 來重新寫一遍。
3 沒有一個完整性的設計,過度依賴能夠想到的測試用例。
主要涉及了兩個主題:測試驅動和重構--這兩個概念都很好。
但我覺得這篇文章不好,感覺編寫程式碼的過程沒有很清晰的思路,過度依賴測試用例。我完全同意它結論部分的反方意見。
----
結論
完成本章後,我把它釋出在ObjectMentor的web站點上。許多人閱讀後給出了自己的意見。有些人認為這篇文章不好,因為其中幾乎沒有涉及物件導向設計方面的任何內容。我認為這種回應向物件設計的情形。事實上,僅有Scorer類稍微有一點物件導向的味道,不過那也只是一個簡單的分割,而不是真正的OOD。
另外一些人認為確實應該有Frame類。有人竟然建立了一個包含Frame類的程式版本,該程式比上面所看到的要大得多,也複雜得多。
一些人覺得我們對UML有失公正。畢竟,在開始前我們沒有做一個完整的設計。餐巾紙背面的有趣的小UML圖不是一個完整的設計。其中沒有包括序列圖。我認為這種看法更加奇快。就我而言,即使在圖6.2 中加入序列圖,也不會促使我們放棄Throw類和Frame類。事實上,那樣做反而會使我們覺得這些類是必需的。
圖示是不重要的嗎?當然不是。嗯,實際上,對於某些我所碰到的情形是不需要的。就本章中的程式而言,圖示就沒有任何幫助。他們甚至分散了我們的注意力。如果遵循這些圖示,所得到的程式就會具有很多不必要的複雜性。你也許會說同樣也會得到一個非常易於維護的程式,但是我不同意這種說法。我們剛剛瀏覽的程式是因為易於理解所以才易於維護的,其中沒有會導致該程式僵化或者脆弱的不正當依賴關係。
所以,是的,圖示有時是不需要的。何時不需要呢?在建立了它們而沒有驗證他們的程式碼就打算去遵循它們時,圖示就是無益的。畫一幅圖來探究一個想法是沒有錯的。然而,畫一幅圖後,不應該假定該圖就是相關任務的最好設計。你會發現最好的設計是在你首先編寫測試程式碼,一小步一小步前進時逐漸形成的。
---
我同意上面三個反方的觀點:
1 沒有進行物件導向的設計,而這個例子用物件導向設計應該很清晰
2 確實應該有Frame類,看完程式,我非常有衝動想以自己的物件導向的設計 來重新寫一遍。
3 沒有一個完整性的設計,過度依賴能夠想到的測試用例。
相關文章
- 軟體開發新模式:敏捷開發模式敏捷
- 軟體開發-敏捷方法論敏捷
- 敏捷開發專案管理軟體敏捷專案管理
- 力軟敏捷開發框架幫您開發什麼軟體敏捷框架
- 敏捷軟體開發的最佳資源敏捷
- 淺談軟體開發模型之瀑布開發和敏捷開發模型敏捷
- 小白科普:敏捷軟體開發(skycto JEEditor)敏捷
- 軟體開發和敏捷-對症下藥敏捷
- 精益看板管理和敏捷軟體開發敏捷
- 敏捷軟體開發:原則,模式,實踐敏捷模式
- 探討敏捷開發在軟體開發中的應用敏捷
- 敏捷開發——網際網路時代的軟體開發方式敏捷
- 2011敏捷軟體開發大會敏捷
- 軟體開發趨勢:敏捷開發框架,瞭解一下?敏捷框架
- 軟體開發流變史:從瀑布開發到敏捷開發再到DevOps敏捷dev
- 軟體開發中的精益和敏捷 - Aram Koukia敏捷
- 工具和敏捷軟體開發之間的關係敏捷
- 現代軟體工程第六章【敏捷流程】練習與討論軟體工程敏捷
- 2022國產敏捷開發專案管理軟體敏捷專案管理
- 軟體敏捷開發流程中的 Spike,Sprint 和 Takt敏捷
- 敏捷開發大家談(三)--敏捷開發技術在電子商務軟體中的應用(2)敏捷
- Scrum敏捷軟體開發之技術實踐——測試驅動開發TDDScrum敏捷
- 將看板應用於軟體開發:從敏捷到精益敏捷
- 對軟體開發有利的5個敏捷程式設計方法敏捷程式設計
- 敏捷軟體開發:原則、模式與實踐讀書摘要敏捷模式
- 微軟軟體研發策略轉變之路 從瀑布式走向敏捷開發微軟敏捷
- 測試人員如何在軟體敏捷開發流程中體現價值?敏捷
- 敏捷需求管理軟體敏捷
- 碎碎念研發01:敏捷簡史和幾種軟體開發模型敏捷模型
- LR.Net敏捷軟體開發平臺核心功能特點敏捷
- 軟體開發:app軟體開發,pc端軟體開發,微商城/小程式開發APP
- 第六章--爆破軟體
- 軟體開發與軟體研發
- 敏捷開發敏捷
- 《敏捷軟體開發 原則、模式與實踐》的讀書筆記敏捷模式筆記
- 碎碎念軟體研發02:敏捷之Scrum敏捷Scrum
- [敏捷開發實踐](1) 認識敏捷開發敏捷
- 自上而下的軟體開發和自下而上軟體開發