2008年10月25日 星期六

R25 程式設計中得到的快樂

最近認真想了一下程式設計到底有什麼快樂?聽取一部分同事的想法是說,從無到有創造出自己想做的產出、或者是花費心力到最後克服一個難做的功能。的確,第一層的快樂是產出結果,做出自己想做的東西並看著別人樂意去使用。(只是在專案裡由於時間的壓迫與客戶的緊逼,痛苦早就多於快樂)

後來與同事們一起在專案裡奮鬥的同時,看著他們不管在SA或SD上都投入很多時間做重覆性很高的工作,後來便開始設計小工具將來處理重覆性的工作。當小工具確切地符合同事的需要,看著他們用很少時間就完成原本要很久的工作,這是第二層的快樂。(以前開發的小工具也是基於這樣的想法所創作的──包括彩券對獎程式 ^^)

現在則是著眼在所有人都能夠設計出其他人一看就懂的系統或元件,同時藉由工具的輔佐讓開發的時間不會超過太多,卻可以有效減少以後維護與改變的影響。努力地把想法轉換為文章,就是希望所有人(至少是我所屬開發團隊裡的所有人)都有同樣的設計思維,把觀念應用在各種不同的領域上。這是第三層的快樂。

2005/10在上SUN OO-226課程之後,我曾經問講師一個問題:如何讓那些將設計重心放在快速開發的人接受OOAD的觀念?講師想了一會兒後回答那是沒有辦法的。2008/04大陸某大公司的資深工程師也問我類似的問題,我們簡短討論之後認為設計是有很多面向的,有人只看到快速的好處而我們也沒法說服他們去兼顧其他的角度。

從開始寫部落格至今,我為了讓全部的想法與作法能夠接續,在所有原先無法連接起來的斷點花了很多時間思索其原因結果並決定作法,同時藉著專案的機會加以初步驗證。或許沒有看過太多理論的書籍不會有對某些理論先入為主的包袱,才能靜靜地感受事物本質的流向。如今面對同樣的問題,我會淡淡地回答一句:讓你創造出來的全部事物在它該在的位置上做它應做的事,這是我心中回歸的設計本質;如此才不會讓那些事物因為趨向於某一目的而造成難以整理的混亂。

我想,這個簡單的道理應該適用在人生裡的任何一個角落吧。

沒有留言:

張貼留言