[Engineering] 设计模式奏鸣曲(九):软件设计者的自
![](https://img.haomeiwen.com/i1023733/7fca16e8ac397dd9.png)
1. 用户
房间里的大象(elephant in the room)是一个英语熟语,
用来隐喻某件虽然明显却被集体视而不见、不做讨论的事情或者叫风险,
抑或是一种不敢反抗争辩某些明显的问题的集体迷思。
![](https://img.haomeiwen.com/i1023733/e4e7cc9f91392d15.png)
在软件设计领域有哪些集体迷思呢?
我想其中之一应该是,
人们会经常性的忽视软件方案的使用成本。
大多数软件开发人员,卖的是开发软件这项服务,
所以,通常我们不是在为自己解决问题,而是为用户。
可是,一旦我们自己不使用它,就不知道多么难用了。
我们一定见识过那些体验较差的软件,
深知研究正确的使用方式,是一件令人沮丧的事情,
简直是在浪费生命。
不幸的是,我们的用户也这么认为。
究其根本,是因为人们总是习惯性的认为,
教会用户如何使用软件,是别人的事情,
而钻研怎样把功能实现好,才是工程师分内之事。
这样精益求精的态度值得赞赏。
2. 预期
英国作家威·赫兹里特说,偏见是无知的产物。
人们之所以容易产生偏见,主要原因还是对其他事物不够了解,
在锤子眼里,所有问题都是钉子。
![](https://img.haomeiwen.com/i1023733/f831e8c9dd2ce085.png)
这种拿着方案去匹配可解问题的方法,很容易产生偏见。
在采取行动说服别人接受我们的方案之前,必须问自己一个非常重要的问题。
我们是在解决问题,还是在推行方案?
方案和问题是不同的,问题是目的,方案是手段。
长视者把目的当手段,短视者把手段当目的。
不同的人区分目标和手段的方式,也是不同的,因为每个人的预期不一样。
所谓问题,就是应有的景象与现状之间的落差,
所谓解决方案就是填补落差的处方签。
建立正确的预期,才能解决正确的问题。
在方案上产生冲突的根本原因是,人们的预期不同。
3. 修身
为了消除偏见,我们就得想尽办法掌握最先进的文明,
Any sufficiently advanced technology is indistinguishable from magic.
学习那些先进的解决问题的方式。
![](https://img.haomeiwen.com/i1023733/0be218e13151efa9.png)
此外,软件作品还表现了作者的做事方式。
软件如何关爱用户,如何与其他系统交互,如何运营如何发展,
正是作者自身处世方式的写照。
作者的设计哲学,借由作品淋漓尽致的体现出来。
古之欲明明德于天下者,先治其国;欲治其国者,先齐其家;欲齐其家者,先修其身;欲修其身者,先正其心;欲正其心者,先诚其意;欲诚其意者,先致其知,致知在格物。物格而后知至,知至而后意诚,意诚而后心正,心正而后身修,身修而后家齐,家齐而后国治,国治而后天下平。
—— 《礼记·大学》
自身有修养,才能坚持做正确的事情。
如果你在意谁得到了赏识,你就永远不能完成任何事。
4. 文化
如果在团队文化上,不想看到坏事发生,
那么他们所设计出来的软件,在遇到异常情况时,就不会报错。
如果在团队文化上,过分注重结果而不在乎过程,
那么突发的未料到的事情,就会多出来很多,
他们设计出来的软件系统就总会无端的发生故障。
![](https://img.haomeiwen.com/i1023733/5d67b1cce578dff4.png)
如果在团队文化上,互相推卸责任人人自危,
那么与其他系统进行交互时,团队设计出来的系统也将只求自保。
总之,团队设计出来的软件,在整个软件生态中,
表现出了团队文化所拥有的那些特征。
这正是作品表现作者做事方式的另一个例子。
由于本寺七十二绝技,每一项都足以置人于死地,所以,每一项绝技都要以相应的佛法来化解,只有佛法越高、慈悲之念越盛的高僧才能练习越多的绝技。否则,强行多练只会内伤越重,早晚有一天导致走火入魔。
结语
为了设计出一个好的系统,我们得在内心深处乐于助人,坚持做正确的事情,
必须学会建立合适的预期,掌握最先进的技术文明。
这些精神财富,都会在我们的设计中体现出来。
Your biggest hurdle isn't your opponent, it's yourself.
参考
数学·计算·逻辑
设计心理学
乌合之众
大癫狂
你的灯亮着吗
发现问题的思考术
营销的16个关键词
布道之道
软技能:代码之外的生存指南
Expert C Programming
咨询的奥秘
克拉克基本定律
房间里的大象