2015年11月1日 星期日

TDD for Java (1)

之前去上了TDD的課,覺得收獲蠻多的
不過行銷文還是少講一點好了XD
因為課程還是以C#為主,但工作上還是以Java為主就是了
不過,基本上概念還是相通的就是了
基本上,講了很多很實用的觀念
不過,最後還是要靠自已慢慢吸收、消化和實踐就是了

基本上,我覺得會寫測試,是一個工程師的一個重要指標
代表你所產出來的程式碼的品質,是否正確和可靠
也可代表具有可維護性
當然還有其它面向的東西,可讀性、clean、彈性、效能等等
彈性和可維護性,可以從Design Pattern上學習
可靠性也和Exception Hangle相關
至於可讀性和Clean,個人覺得可以看看Clean Code...或是Effective Java之類的
至於,效能又只另外一個議題了,程式碼的寫法、系統面、設計面等等,甚至到資料結構和演算法面…

不過,第一步還是先從測試開始吧…
畢竟,在商業軟體的世界,先把東西對才是重點
先求有再求好XD
但,如果客戶要求說,我這個功能需要每秒可以處理百萬筆資料
那又是另一個議題了
畢竟,就像某些人常講的,技術不是問題
當然不是問題,問題在於口袋夠不夠深XD

至於上課說了什麼,老實說
年紀大了沒辦法記那麼多了 冏

只記得第一天是講了Unit Test
如何做到Isolate的測試,如果使用Mock和stub做到這點
和一些測試的準則
第二天,主要講了整合測試的部分,再利用整合測試做重構
然後,再進一步做Unit Test
第三天,主要講了TDD和BDD的部分
如何簡單的根據需求,轉換成test case和進行開發

So, anyway, Let's start practice in Java.
I show some resources below.

Resource:
http://www.ithome.com.tw/news/87245
http://ithelp.ithome.com.tw/question/10109845
http://blog.littlelin.info/posts/2014/04/26/tdd-is-dead-long-live-testing
http://openhome.cc/Gossip/JUnit/
http://www.vogella.com/tutorials/JUnit/article.html
http://www.dotspace.idv.tw/ArecaChen/Test/JUnit_Primer.htm
http://blog.iamzsx.me/show.html?id=118001
http://blog.csdn.net/yasi_xi/article/details/24642517
http://billben.iteye.com/blog/1872196
http://obullxl.iteye.com/blog/727304
http://www.codedata.com.tw/java/unit-test-the-way-changes-my-programming
https://blog.alphacamp.co/2015/03/02/tdd-kata/



沒有留言:

張貼留言