雕塑:
拿来一块大石头(或者橡皮泥), 然后雕刻(或捏). 当要做许多类似雕塑的时候, 先一起雕刻出大概的通用形状, 然后根据需求(参数)再进一步雕刻为最终形状.
积木:
先找到细化的某一小部分, 将其作为一个积木, 找到许多小部分, 作为一些积木. 然后将这些积木组合, 拼接, 做成最终形状.
我不喜欢雕塑的原因是, 一旦有一个新的但与之前类似的雕塑, 不兼容通用形状, 就要修改通用形状. 而这种通用, 很可能不止一层, 而是一级通用, 二级通用, 三级通用... 要修改哪一层, 对其他具体的最终形状是否有破坏, 随着项目进展, 兼容太多导致最终想要将某些剥离出这类形状.
1
owenliang 2018-10-24 18:26:57 +08:00
过早优化是万恶之源。
一开始搭架子考虑太多,的确适得其反。 |
2
chinawrj 2018-10-24 18:59:41 +08:00
雕塑雕塑雕塑
|
5
smeraldo 2018-10-24 20:15:57 +08:00
积木组合拼接..这是 tdd?
|
6
PythonAnswer 2018-10-24 20:42:04 +08:00
积木 = linux 原则
|
7
daodao 2018-10-24 20:43:36 +08:00
有这思考,不错小伙子
|
9
iugo OP @chinawrj 对, 最初应该有很大通用性. 但越通用就距离最终形态越远, 如果细分, 前期通用性强, 但造成层级过多; 如果不细分, 就造成通用性差.
|
10
flyingghost 2018-10-25 10:51:43 +08:00
自上而下设计 和 自下而上设计。
你会发现,设计阶段还是自上而下比较好,而实现阶段,自下而上实现非常舒适。 至于你纠结的时候,其实也是重构的时机和价值体现。重构一定会影响设计,但不一定影响砖头。 设计的一种思路是大干快上先实现,只有当某个东西重复第三次的时候才开始考虑重构。好处是务实,坏处是不断返工结构糟乱劳心劳力。 另一种思路是前期设计充分考虑变化,架构充分灵活可扩展。好处是红星照耀我方向,坏处是过度设计结构复杂劳心劳力。 总之劳心劳力。 |