寫程式中的設計

最近又開始寫程式,為的是要給自己一個趁手的工具寫文章 (不要問我為什麼不用現成的而要自己寫)。既然是新功能,心想應該要多花一些時間在設計上面,也這麼做了。

在程式中的設計會牽涉到很多層面。從資料結構、使用的元件、程式碼的架構、API 的設計,一直到介面的呈現,操作順序與體驗。老實說,一剛開始一項一項列出來,看著這個長長的清單,說不焦慮是騙人的。要不是我真的很想寫這個功能,不然這個想法現在應該就會束諸高閣,也沒有這篇文章。從這個角度看,設計這件事變成了考驗決心的門檻,逼著自己至少要做點功課。

更麻煩的是,設計這件事,必須要一直進行,隨時判斷這樣決定可不可以。在這個計畫中,以元件的選擇最為麻煩,原本預先做功課的結論很樂觀,沒想到實際用的時候,很多 corner cases 一直跑出來,好幾次明明完成了八九成的碼,只能放棄重來,換個方式做。 現在回頭看,試錯和疊代應該是很正常的事,不過做錯設計所產生的負能量,沒有置身其中很難體會。自己一個人做都這樣子了,可想在商業環境中會引來多少的交相指責。 「反正現在有很多現成的元件,應該很簡單嘛」,這句話還是少說為妙。

最後的收尾更是複雜。還不講解 bug 所耗的時間,光該用設計處理的事項,解決的速度試遠低於問題的產生。而且還有前後不一致的情況,為了不想體驗重新設計,到處都是妥協的結果。每當試用的人丟出一句 "這樣用有點怪ㄟ",真想吼回去 "有的用就不錯了!"

我的心得: 即使已經混了這麼多年,設計還是個傷透腦筋的活,是一連串動態的、艱難的決定,一直到結束 (或是放棄) 為止。難怪會設計和寫程式的人越來越難找,不要再叫人家碼農了。

results matching ""

    No results matching ""