作者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)
1F:推 march20:关於 decompostion, 请大家一定要看这个 71.136.241.252 11/27 16:12
3F:推 march20:虽然是 1971 年的 paper, 但提到模组化 71.136.241.252 11/27 16:14
4F:推 march20:不管是 OOP, AOP, ??P, 现在看来还是相当 71.136.241.252 11/27 16:14
5F:推 march20:地重要. 71.136.241.252 11/27 16:15
6F:推 march20:啊, 错字, 是 decomposition ^^; 71.136.241.252 11/27 16:17
7F:推 PRAM:请问1楼怎麽知道这篇啊@@ 122.116.112.47 11/28 03:41
8F:推 Reinhard:top-down design; 140.112.91.5 11/28 11:23
9F:→ Reinhard:bottom-up implementation 140.112.91.5 11/28 11:23
10F:→ Reinhard:anyway 感谢指教 :) 140.112.91.5 11/28 11:24
11F:推 march20:Parnas 就是提出 information hiding 的人 71.136.241.252 11/28 14:10
12F:推 march20:这篇有修 "软工" 一定会读到 71.136.241.252 11/28 14:10