Re: [討論] 大家寫程式都是先架構好還是直接就寫了?

看板Programming作者 (Fru:z)時間18年前 (2007/11/27 03:31), 編輯推噓10(1002)
留言12則, 3人參與, 最新討論串4/4 (看更多)
※ 引述《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)

11/27 16:12, , 1F
關於 decompostion, 請大家一定要看這個
11/27 16:12, 1F

11/27 16:12, , 2F
11/27 16:12, 2F

11/27 16:14, , 3F
雖然是 1971 年的 paper, 但提到模組化
11/27 16:14, 3F

11/27 16:14, , 4F
不管是 OOP, AOP, ??P, 現在看來還是相當
11/27 16:14, 4F

11/27 16:15, , 5F
地重要.
11/27 16:15, 5F

11/27 16:17, , 6F
啊, 錯字, 是 decomposition ^^;
11/27 16:17, 6F

11/28 03:41, , 7F
請問1樓怎麼知道這篇啊@@
11/28 03:41, 7F

11/28 11:23, , 8F
top-down design;
11/28 11:23, 8F

11/28 11:23, , 9F
bottom-up implementation
11/28 11:23, 9F

11/28 11:24, , 10F
anyway 感謝指教 :)
11/28 11:24, 10F

11/28 14:10, , 11F
Parnas 就是提出 information hiding 的人
11/28 14:10, 11F

11/28 14:10, , 12F
這篇有修 "軟工" 一定會讀到
11/28 14:10, 12F
文章代碼(AID): #17Iny46T (Programming)
文章代碼(AID): #17Iny46T (Programming)