1-2 功能價值:實用主義的度量衡
絕對價值 = 採用後效益 / 未採用前效益(無大小比較,只有有無效益)。
相對價值 = 同類軟體間絕對價值之比值。
無實用功能的軟體無真價值;商品化軟體必具效益,故功能價值本質上是比較性的。
1-3 效率價值:硬指標的精確計算
效率價值 = 程式功能價值 / (佔用空間 × 執行時間)。
功能價值極高時,空間速度影響相對輕微,但此類程式尚未誕生。現階段硬體仍在啟蒙期,軟體普遍佔空間大、速度慢,效率不高。掌握效率價值,即掌握出頭路。
1-4 累進價值:模組化的複利效應
累進價值 = 效率價值 × 使用頻率 × 軟體生命期。
硬體會耗損報廢,軟體不磨損;模組化設計下,共用模組永不退役,適度修改即煥新。具累進價值的程式邊際效益最高,品質要求也最嚴。唯有組合語言的高效率,才能孕育此價值。
2. 程式設計師應有的態度:自動自發、謙虛學習、掌握重點、認真負責、追求完美
- 自動自發:內驅力讓問題未解如芒在背,不解決不罷休(不論動機為名、利、好奇或賭氣)。
- 謙虛學習:參考他人作品、吸收新技巧,固步自封難成大師。原則重於細節(學習時),細節重於原則(執行時)。
- 掌握重點:能者化繁為簡,不能者化簡為繁。差異在於能否抓住當前關鍵。
- 認真負責:事前徹底理解「做什麼、怎麼做、最有效率如何做」;過程中預判每步結果;事後驗證目標達成度與改進空間。
- 追求完美:完美是永不可及的理想,但在追求過程中人不斷昇華。無理想者,如愛因斯坦所言,不過「訓練有素的小狗」。
態度源於習慣,習慣來自學習與鍛鍊。自我要求,良好態度自然形成,大師之路水到渠成。
3. 軟體開發原則:分工合作、量材施用、慎重計劃、嚴格執行、市場導向
- 分工合作:需核心領導者,依性質分配,責任清晰,溝通順暢。人非機器,需再教育統一工作習慣,兼顧個性與協作。
- 量材施用:先懂每人性格、能力、缺點,再派合適任務;管理亦然。
- 慎重計劃:藍圖一旦定案難改。完整計劃含目標、分工、進度、細則、溝通管道、問題解決流程。
- 嚴格執行:專責監控人員需經驗深、判斷準、敢擔當。執行嚴格、待人寬厚、處事果斷。
- 市場導向:不符使用者需求的產品「無用」,無用即無價值。測試標準:自己是否願用?設計者若不樂此不疲地玩賞測試,市場不會買單。
4. 工作環境建立:安靜、資料齊全、消息流通、壓力合宜
- 安靜衛生:藝術創作需心神投入,喧嘩破壞專注力。
- 資料齊全:缺一份關鍵資料即阻整個計劃。程式本身也是廣義資料,工具必須備妥。
- 消息流通:閉門造車必落後。全球資訊交流可省卻鉅大心力。
- 壓力合宜:年輕初學者在動機驅動下可承受 3~5 年高壓;資深者需極強動機與意志。藝術創作更需堅忍。觀念從大處著眼,技術從細部著手,理想終成現實。