作者lgd1008 (lgd1008)
看板Soft_Job
標題Re: [請益] 工作上投入程度
時間Fri Mar 23 14:42:12 2012
程式的彈性, 執行時的效能, 開發的時間, 是很難兼顧的..
雖然這三個項目, 往往在程式開發的過程中互有糾纏, 不能各自獨立考慮. 但若要硬切開
來說, 程式的彈性, 我覺得是花最少的力氣做到剛好就好了, 原因為何? 因為除非彈性就
是你軟體原本的賣點之一 (像是能加入plug-in), 否則彈性是效用不明的投資. 而且更多
的是, 隨著軟體發展, 原本預先考慮過的彈性設計, 後來也往往會成為需要被不斷更動的
部份.
最常有問題發生的就是所謂的彈性架構了. 這個架構的影響可能遍及軟體中的很多部份.
你在某種假設下, 設計或使用了某些framework, 心想只要大家都持續遵守它的某些規則
, 程式就可以運作得很好. 但意外的是, 新的不相容的需求出現 (這很常見), 只好建立
特例來處理它. 但隨著例外越來越多, 直至有一天你也許發現真相, "處理framework中的
特例, 比把所有的案例都當做特例處理, 還要麻煩", 但framework的影響力遍及整個軟體
, 要拿掉或修改都是麻煩的事, 此時, 你是要停損? 還是繼續賭下去?
在某些framework的社群裡, 有時你就看得出使用者受困的徵兆, 像是詢問如何用各種詭
異的方法去增加執行效能, 或發展出某些專屬於該framework的 "獨特學問", 例如厚厚的
使用手冊, 大量描述問題與解決問題的專有名詞.
再來是效能, 效能很重要 -- 這並不是說外觀, 功能上的設計就不重要, 但效能的比較,
是一個可以直接被量化的軟體優劣指標. 尤其是當你處在競爭之中, 消費者最愛比各種
benchmark了; 就算是沒有競爭的環境, 缺乏效能也會使得你變成一個可以被競爭的目標
. 雖然我覺得因為環境中缺乏競爭或是不值得競爭 (公司內部的系統, 客制化的軟體, 或
是市場的利潤太低), 所以效能的要求不常被提起, 但我覺得效能比彈性更值得, 也更容
易投資 -- 因為關於效能的改進, 通常只需專心於軟體中的少數部份.
而最重要的我覺得是開發時間, 而開發所花的時間長短, 通常都會與程式碼的長度, 程式
碼的複雜度正相關. 而且時間是最有用的資源. 你節省下來的時間, 將可以以別種方式再
利用. 你可以再去做新的軟體, 也可以再去榨乾效能與改出程式的彈性.
-----
https://www.facebook.com/java.tw
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.161.68.213
推 petershih67:認同~ 我也覺得為了彈性付出的時間,還不如先不彈性, 03/23 17:31
→ petershih67:等需求改變,再來改就好。實際的情況是,需求改不停。 03/23 17:32
→ petershih67:但是早期的彈性架構,也敵不過需求的改變,到頭來 03/23 17:32
→ petershih67:早期為了彈性投入的資源,很多時候都會被浪費掉. 03/23 17:33
推 bobju:是啊~這很務實,尤其浪費自己的時間那更痛. 03/23 18:11