作者sfp (Fru:z)
站內Programming
標題Re: [討論] 大家寫程式都是先架構好還是直接就寫了?
時間Tue Nov 27 03:31:14 2007
※ 引述《Reinhard (飛鳥盡 良弓藏)》之銘言:
: 最近對於這個問題有點小疑惑。
: 以前很執著於一定把架構先架起來,
: 也就是先用 comment 寫寫 pseudo-code,function 的宣告,data 的傳遞
: 都先寫好,再從底層開始慢慢架起來。
: 心情好的話,甚至會對底層的一些小模組進行測試。
: 不過這樣寫有幾個缺點:
: 首先是前置作業太長,會覺得自己花了好多時間卻沒什麼進度,感覺不佳。
: 第二個缺點其實跟前面有點關聯,
: 就是在這種 bottom-up 的作法之下,
: 直到兜起來的那一刻才能比較成品跟自己想法的差異。
我不太懂你的問題 如果是架構好再寫
應該是top-down design 才對吧?
怎麼會變成 bottom-up?
top down 可以不寫 pseudo code
直接看你覺得要有什麼 要怎麼用這個東西 不停分解下去
到最後只剩一些methods要實作這樣
當然有些東西沒有實作看不太出來問題在哪裡
要做做看才知道 就像你下面的做法
: 所以後來就比較傾向先作一個小小的、有點簡略的版本,
: 想到什麼先做什麼,再慢慢 refine 的作法。
: 不過這也有缺點,整個架構不夠好的話,
: 經常會有挖西牆補東牆的感覺。
看情況吧 若程式大 合作的程式 最好是有個架構再實作
程式不大 自己一個人寫的 邊做邊改也沒什麼大礙
Refactoring 那本書有講到
作者曾經看過直接就寫的 不對的時候再重構
這種做法 也可以寫出 "very well-designed" 程式
(不過我沒有這樣做過)
我自己的話 觀念比較清楚
大概是看完
1. design patterns
2. code complete
3. refactoring
這三本書之後的事
還記得從前老師講什麼 divide and conquer
把軟體講得很簡單 後來才慢慢體會到
conquer不是問題 問題在怎麼divide
以上的概念 請前輩指正
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.51.172
※ 編輯: sfp 來自: 61.229.51.172 (11/27 03:32)
推 march20:關於 decompostion, 請大家一定要看這個 71.136.241.252 11/27 16:12
推 march20:雖然是 1971 年的 paper, 但提到模組化 71.136.241.252 11/27 16:14
推 march20:不管是 OOP, AOP, ??P, 現在看來還是相當 71.136.241.252 11/27 16:14
推 march20:地重要. 71.136.241.252 11/27 16:15
推 march20:啊, 錯字, 是 decomposition ^^; 71.136.241.252 11/27 16:17
推 PRAM:請問1樓怎麼知道這篇啊@@ 122.116.112.47 11/28 03:41
推 Reinhard:top-down design; 140.112.91.5 11/28 11:23
→ Reinhard:bottom-up implementation 140.112.91.5 11/28 11:23
→ Reinhard:anyway 感謝指教 :) 140.112.91.5 11/28 11:24
推 march20:Parnas 就是提出 information hiding 的人 71.136.241.252 11/28 14:10
推 march20:這篇有修 "軟工" 一定會讀到 71.136.241.252 11/28 14:10