看板 Programming 關於我們 聯絡資訊
※ 引述《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:http://0rz.tw/973kf 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