jim yeh on 一月 7th, 2010

敏捷開發並不是教條式的照本宣科,開發者要懂得變通最重要的是用心思考,而非把必要的思考都看成精神層面的問題,這並非適用於敏捷開發的心智模式。以下是同人在 Facebook 的 Scrum community in Taiwan 的回應,但文辭有略為做過一番修飾,可以用來澄清我對測試驅動開發步驟的看法。

Continue reading about 測試驅動開發的步驟

     
jim yeh on 一月 6th, 2010

對 David Ko 提出 Kent 認為 Red/green/refactor 是 TDD 的三字箴言的說法,同人倒是覺得有探討的必要。以下分享我在 Facebook 回應 David Ko 的觀點,這些觀點應該可以解釋為什麼測試開發不需要徹底重構;其實重構並不是問題,而是到底什麼叫做徹底?而且如果 TDD 可以徹底重構,那麼一開始就可以讓設計一次到位,那寫好的測試程式以後也用不著了,不正是多此一舉?

Continue reading about 測試驅動開發要徹底重構?

     
jim yeh on 一月 5th, 2010

測試驅動開發的精神,不應該用一般機械論的觀點來進行工作或任務的化約,而是基於複雜理論的重要觀念;維持穩定與變化的動態平衡,不在於掌握系統核心而在於邊緣,讓變動限定在人們可以掌握的範圍內,這或許才是測試驅動開發最關鍵的精神吧!

Continue reading about 測試驅動開發的精神

     
jim yeh on 十二月 31st, 2009

技術經理當教練如果對公司是不好的徵兆,問題應該還是出在領導上,誠如同人過去發表過的文章所講的:強將手下無弱兵,但也不會有強將。沒有辦法訓練培養人才的教練,還是因為技術經理不諳教練之道呀!

Continue reading about 再談技術經理當教練

     
jim yeh on 十二月 16th, 2009

表面上看起來好像實作泛型可以讓某一段程式碼重複使用,但 Java 在泛型的限制,也增加他重構程式碼的困難度與複雜度。這麼說來,假如石頭成的想法是正確的,用 Java 的泛型來重構程式碼,只會讓程式員沒事自討苦吃。然而,同人在仔細研究他的程式碼之後,發現可以用更簡潔的方式來使用 Java 的泛型。

Continue reading about Java 泛型複雜嗎?

     
jim yeh on 十一月 8th, 2009

分享會在台北市電腦公會舉行,看到現場互動氣氛的熱絡,以及會後學員們給予不少正面的評價,感覺大家收穫都不少。其實包括我自己在分享會結束之後也產生了一些想法,倒是想藉由此文章分享我的分享會後心得。

Continue reading about 敏捷開發實戰經驗分享會後感

     
jim yeh on 十月 26th, 2009

這篇文章是投稿 ZDNet Taiwan 的文章原稿,由 ZDNet Taiwan 以〈如何在系統異常前發現錯誤?〉、〈如何在系統異常前發現錯誤?(下)〉兩篇文章刊登。文章原稿未經 ZDNet Taiwan 編輯,內容可能與 ZDNet Taiwan 約略有所不同。 前一陣子有兩個與資訊系統失常有關,而且眾所矚目的新聞事件,也就是戴爾電腦網路購物系統與台北捷運內湖線的系統異常。相信很多人都認為這兩個系統會發生系統異常相當離譜,在系統上線之後才發現系統無法正常運作,造成系統使用者的困擾,同時也會讓人對系統可靠度與穩定度失去信心,而增加系統的失敗成本。 雖然平心而論,想要事前預料系統可能發生的問題,並加以預防或因應其實並不容易,因為開發系統,尤其是軟體開發常會碰到事先難以預料的問題。但如果能在錯誤造成危害之前,就能夠發現問題並採取適當的行動來解決它,應該就能減少系統的失敗成本。因此,看到戴爾與台北捷運內湖線的重大系統異常,讓筆者想探討如何在系統失敗前發現錯誤,以避免系統失敗的巨大損失。

Continue reading about 如何在系統失敗前發現錯誤

     
jim yeh on 十月 4th, 2009

最近同人在開發資料剖析的程式時,碰到一個很奇怪的現象。我使用 map 容器來存放剖析資料的結果,然而卻發現以原先新增資料所用的相同鍵值,竟然會找不到該筆資料。但我的測試程式顯示容器中所存放的鍵值與資料,其內容是正確的,但為什麼用相同鍵值去找,結果竟然回傳查無資料呢?原來問題就出在以字元串列常數當索引鍵值。

Continue reading about 以字元串列常數當索引鍵值

     
jim yeh on 八月 7th, 2009

同人看 Kenming Wang 這篇文章覺得怪怪的,倒不是不贊同他對寫好使用案例好處的觀點,而是覺得強迫新手去做我們認為有價值的東西是很危險的。

Continue reading about 強迫新手這麼做的風險

     
jim yeh on 七月 21st, 2009

是否代表系統開發追求速度與彈性,就必然犧牲文件與流程呢?同人認為這樣看就太過簡化了,系統開發的彈性並不是忽略系統文件與流程,而是只重視有實質效益的一切事物,當然包括文件與流程。

Continue reading about 系統開發的彈性