设计

最近在筹划一个与设计相关的PPT,PPT大概做了有三五页,凭印象写写。

大部分内容来自《设计原本》。相关内容刚开了个头,简单聊聊。

什么是设计

我写完PPT的时候跟我徒弟讲了一下:

我:“什么是设计?”

徒弟:“设计什么?”

我:“随便什么,比如桌子”

徒弟:“根据图纸,先怎么怎么搞木头,再怎么怎么搞在一起”

(你看,这就是理性思维,理性思维把任何一个看到的东西都能进行解构和组合)

我:“在这之前呢?”

徒弟:“画图纸”

我本来想问,“画图纸之前呢”,为了节约时间,我没有接着问下去,直接给出了答案。

“设计是构想、实现、交互的过程,构想出来一个设计,实现它,在与用户的交互中重复前面两个步骤,这就是设计。”

(徒弟若有所思)

我:“我们主要谈构想这一步。实现桌子之前,脑子里一定要先有桌子,没问题吧?”

徒弟:“没问题”

我:“你现在根据构想会做出一个桌子,下次你根据相同的构想会做出来另一个桌子,这两个桌子是一样的吗”

(徒弟有点困惑,这个问题很差劲,不知道想说什么)

我接着说:“世界上怎么会有两个相同的东西呢,肯定不一样嘛,那问题来了,你能做出来你脑子里想象着的那个桌子吗?”

(徒弟同样困惑,这个问题也很差劲)

我:“做不出来”

这个时候我把PPT翻到下一页给他看,叫柏拉图的理想机器,摘了《设计原本》《理想国》里的话,跟上面我讲的差不多,我这里主要想引出柏拉图的理型,理型这个词来自《苏菲的世界》。柏拉图的理型论,下面摘自百度百科:

柏拉图认为,自然界中有形的东西是“流动”的,所以世间才没有不会分解的“物质”。属于“物质世界”的每一样东西必然是由某种物质做成。这种物质会受时间侵蚀,但做成这些东西的“模子”或“形式”却是永恒不变的。

我们把这些形式、模子、理型,姑且叫做柏拉图的理想机器、桌子等等。

我:“既然做不出来,那么柏拉图的理想桌子或者你脑子里所想象的桌子,除了在脑子里,还在哪里?”

(徒弟努力想)

我:“桌子可能不太好想。我们是做软件的,我们就拿软件举例子,软件设计师为某个需求设计了一个解决方案,但是代码会随着迭代不断演进,同一个需求也会经历重构已更好地应对变化方向,那么柏拉图的理想代码究竟在哪里?在文档里”

(徒弟有点诧异)

我:“文档里有什么?有目标、有原则,没有细节”

下面的内容我没来得及讲,徒弟已经拿走了我的《设计原本》埋头苦读了。

我接着说。

我们知道了这一点有什么用呢,《设计原本》里是这么说的,(不是原文,我就不加引用了):

一、设计原则都是统一、经济、简洁的。总结出设计原则有助于团队围绕它协作,有助于传授给新员工;

二、经常提及设计理念能使概念统一,对团队内沟通有很大帮助。

《设计原本》里喜欢用概念这个词,或者概念完整性,这个词的意思是不容易理解的,其实就是对好、优雅、有规律、简洁、统一的认知。这些形容词在《禅与摩托车维修艺术》里有一个词来概括,叫良质,英文叫good。关于良质的内容我们还会提到。

理性模型

《设计原本》里对理性模型有详细描述,以设计房屋为例,把用理性模型进行设计描述得非常清晰,这里提一下理性模型的组成:目标、必要条件、效用函数、约束、资源、设计树,这些关键词与需求设计书中的架构设计部分是很像的。关于理性模型,作者引用了这样一句话:

……因为设计的理论是普通的搜索理论……即在巨大的组合空间搜索。

改一下句子就是:设计是在巨大的组合空间中搜索。设计师在解决问题的时候,他面对的是浩如烟海的可能性,他所做的,就是在其中寻找可能是最终解决方案的那一条。既然设计理论就是搜索理论,那么梁思成设计建筑的目标,换成八岁孩童能否胜任,答案当然是“不能”,因为八岁孩童设计的建筑无法承载它的功能,也就是不满足效用函数;如果八岁孩童不能胜任是因为他的建筑学知识不足,那么换个人,换成不是梁思成的普通建筑师能否胜任,答案当然也是“不能”,不是说他设计不出来,而是设计得不够好。

上面结论对教育领域有重大意义,具体见我在知乎上对这个问题的这个回答:

什么样的人学习很难学好?

我从小成绩一直很好,很好很好那种。但我不聪明。所以我很难相信一个人学不会东西。唯一学不会的原因是打基础的时候没好好学,以至于后面越来越困难。

但是我读了一本奇书《禅与摩托车维修艺术》,我才感悟到人是有悟性的高低之分的,悟性差的人真的学不会东西,几乎所有稍微复杂一些的都学不会。

所谓悟性,是科学与艺术的中间地带,是二者的过度,理解到这一点,就能发现光学习是不够的,人还要培养优秀品质。优秀品质,书里叫good,也叫quality,翻译作良质,道可道的道英文翻译也叫quality,我们姑且叫良质吧。良质是不能被定义的,比如说“好”,“好”是什么,你只能用例子来佐证,比如什么样什么样的音乐是优美的什么样的画是优秀的等等。良质不是客观的,因为它不是一个实体,也不是主观的,因为所有人对“好”的认知是一致的,它介于主客观之间,介于科学与艺术之间。

如果没有良质,人无法在无穷的可能性中找到最可能解决问题的那一个方法。客观映射到主观的过程是有良质存在的,比如客观有一粒沙子,人怎么知道那是一粒沙子的呢?必先在脑中寻找,然后才能意识到沙子。

汽车驾驶员看到急转弯要减速,赛车手反应快,普通人反应慢,所以良质是可以通过训练来加速从客观到主观的这个过程的。

回到这个题目,有下面几个结论:

1. 人真的可能因为悟性不佳而学不会复杂的知识和技能;

2. 人可以通过培养艺术爱好来提高学习能力;

3. 在对“好的”“对的”“优美的”“简洁的”“有规律的”有认知的前提下,人可以通过训练来加速学习时的反应。

雅典一部分古代哲学家把人类认知分成了理性世界和感性世界(我们现代人特别是理工出身的人,对这个划分认为是理所当然的毋庸置喙的),《禅与摩托车维修艺术》里认为,正是这种划分,使现代科学出现了瓶颈:不修艺术的科学研究,是无法在大量可能选项中找到最合适的那条路的。这些观点,对设计师的自我提高有非常重要的意义,如果SE是做到了软件开发的90%,拥有对美的认知的程序员将做到95%。

我立个flag:

计划花一两年时间做一系列内部课程,从分享做起,逐渐打磨成精品课程。

初级课程,面向初级开发者:《clean code》《编码规范和SE checklist》《某子系统架构》

高阶课程,面向一年以上开发者:

专项:

《混模》《隔离》《数据》:需要设计模式基础;

《架构评估》《性能估计与性能优化》《负载均衡与功能降级》《框架与通道》《DSL》

基础:

《cache原理与高效编程》《C常用设计模式》

《clean architecture》:怎样做架构设计

《设计》:设计原本、禅与摩托车维修艺术、系统架构,主要讲玄学

其他:

《python高阶设计》

《重构》

《DDD》

很多实践是内部的,例子都是现成的,脱敏很苦恼,实在难脱的就说个大概好了,可能会比较抽象。

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!