2008年7月6日 星期日

[程式]快速開發與效率

從國中開始寫程式時,程式對我而言,就是達成目的的指令,在當時並沒有所謂時程和效率的考慮,沒有受過正統程式設計訓練的我,只有零星的上過一些相關課程,和絕大多數的自修,但一些專有名詞,像復雜度、NP HARD之類的,我也還蓋得出來。

在軟體討論區甚至是open source 討論區,出現了 IDE 工程師這樣一個名詞,原本這個詞並不是什麼不好的意思,但在那些討論區裡指的卻是一群只會使用圖形化開發工具(泛指微軟系列為主)的工程師,講求易上手,快速開發,但結果卻是常常忽略了一些細節,造成漏洞、效率等的問題。

經常遇到的是開發時使用的小型案例一切正常,但真正上線時,完全攤換,這不全是工程師的錯,如果規劃時周全一點,如果讓比較有經驗的來領導專案進行,如果肯針對不良的程式碼痛下決心大改寫,都可能讓這些問題不要發生。

第一場戰役:jQuery,從開始引入jQuery開始,本來這應該是個美好的開始,但新人進來就開始學jQuery,基本Dom操作的也jQuery,諸如 jQuery("#id") 這樣的式子完全被濫用,基本的 document.getElementById 反而都不會用,有些效能卻是在這些地方消失掉的。

第二場戰役:linq,雖然 linq 讓很多的程式開發更有彈性,特別是 linq to sql 讓工程師幾乎可以不了解 sql 句也能完成資料庫的存取,但如果沒有優良的 DBA 在幫忙輔助管理資料庫,就算 linq 用的再熟再好,也解決不了因為資料庫設計不良造成的效能低落問題。

打了越多場硬戰後,我也了解了更多,快速開發與效率其實也是有辦法兼顧的,快速開發靠的是工具,但效率就必須靠著工程師的素養、經驗、細心。

0 回應:

 
TEMPLATE HACKS AND TWEAKS BY [ METAMUSE ] BLACKCAT 1.1