以一言以蔽之

有一天在回住处的出租车上听到刘宝瑞先生的一段相声,讲的是古时候四个兄弟去赶考,但是老小是一个话不多的人,所以老三就觉得这个人特别傻,简称他傻子。自然,老三不希望带着老四,于是就各种使绊,他在出门前对其他兄弟说:“大哥二哥,傻子就别去了,你看他话都说不完”,老大老二自然不同意,所以老三就说:“那这样,咱们就来对诗吧,老四要是这都答不上来,就别去了”。于是出行前大家依次各说一句:

出门上雕鞍,上马手接鞭。此去谁得中?

老四愣愣的说了一句说:

“咱!”

……

当然,后面还有更多的内容,感兴趣的可以自行搜索一下,说这么多其实就是想回到今天的主题:以一言以蔽之。 写代码的朋友可能都会有这样的一个感受,我们做东西时都这么说:要做一个牛逼的项目,异地多机房,防灾带冗余、可以水平扩展、热启动、热备份、Tech Stack要新,争取和Google、Facebook齐平……当然,这么一举例,你就会发现十有八九是一个屁股决定脑袋的决定,但是没法呀,谁让新的一年来临之际,我们都需要思考明年总结时怎么吹牛逼呢?我们习惯把简单的问题做复杂。

在众多广为流传的一些经验中,我特别欣赏奥卡姆剃刀,“若无必要,勿增实体”,一下子就切中了我们假大空的要害,试想,你吭哧吭哧倒腾了半年写了十分复杂的系统,但是用户量不过上百时会是一种怎样的感受? 所以以一言以蔽之,用最简单的方式做最核心的事情,正如Uinux的哲学那样。

昨天翻大学时期写的C#代码时发现已经看不懂当时的思路了,代码量很大,做的事情很多,但是真正切入要害而且还是不得不做、而又不重复自己的内容少之又少。简洁是一种美,更是一种美德!

拿出《编程之道》中的那段话来应景:

或问曰:『有程序员未尝design、document、test其程序,然天下皆谓其程序美于天下,何也?』 曰:『得道。其无design,遇crash,不怒,顺乎天常;其无documentation,或视其程序,不念;其无testing,程序极美,优哉雅哉,不言自明。信夫!入道也!』 大道至简,很多问题不像想象中的那么复杂,不是命运有安排而是庸人自扰。

你把代码写这么复杂,你家人知道吗?

p.s. 可能大家会问,这个NYTimes的图片和主题有什么关系吗?答:NYTimes近日做了改版,以内容为中心,删除无关的信息,提升阅读的体验,这种简单的美,十分喜欢。