What have you found for these years?

2010-04-18

流程錯誤

雖然現在不知為何覺得很難受,總之把最近要寫要看的弄完,
明天就可以來弄有趣的 open source project 了...
這也是有時效性的,所以手腳要快一點 ><

-

流程錯誤是昨天在做用 aasm 包裝 website flow,
希望能藉此做出可以很容易操作 flow 的 tool.
結果該說是太有自信嗎?還是太懶惰?邊寫邊試就發現,
「尋找」到底什麼是需要的東西,這件事本身是很複雜的。

目標則是這個 tool 必須是很好懂也很單純的。
有可能最後會發現 aasm 也是 overkill,
因為我自己也對 aasm 動了點手腳,在上面架東西,
例如忽略 exception, 而且 event 只做一種,
transition 則是自動產生。寫到這邊,不免開始想,
其實這已經不太是 aasm 了吧?會不會我能夠把 aasm 移除?

最後總算是弄得差不多告一段落了,真是花了很多心思...
而且中間也浪費了不少莫名的 debug 時間!
這明明可以透過先行撰寫 unit test 而避免的。

先行撰寫 (failing) unit test 除了確保 use case 外,
修改過程中也可以避免在複雜的程式中,尋找出問題的片段。
畢竟 "unit" test 本身就應該是 isolated from the whole
project, 本來就應該要從 test 中 trace code,
而非從整個 project 中 dump stack trace,
放入各種 printf 去尋找到底是誰出事了...

而確保 use case 這件事,也可以讓自己確認到底什麼才是需要的。
總而言之就是不管如何,都應該先從 unit test 開始下手。
可能是我習慣還不夠好吧,總之真的得記取這個教訓才對。
同時這也如 john 所說,pair programming 可以避免
偷懶和確保正確流程... XD

欸欸欸這些我都知道啊。知道和要去做之間,有時候好像真的有隔閡。
感覺就像理智和感智之間,不斷在互相協調和妥協。
總之... 謹記寫起來覺得有困難時,就應該想辦法換方法就是了。
我真的太容易鑽牛角尖了...

0 retries:

Post a Comment

All texts are licensed under CC Attribution 3.0