旧瓶新思

故事一

魏文王问名医扁鹊说∶“你们家兄弟三人,都精于医术,到底哪一位最厉害呢?”
扁鹊答说∶“长兄最好,中兄次之,我最差。”
文王又问∶“那么为什么你最出名呢?”
扁鹊答说∶“我长兄治病,是治病于病情发作之前。由于一般人不知道他是在事先就铲除了病因,所以他的名气无法传出去,只有我们家的人才知道。我中兄治病,是治病于病情初起之时。一般人以为他只能治轻微的小病,所以他的名气只及于本乡里。而我扁鹊治病,是治病于病情严重之时。一般人都看到我在经脉上穿针管来放血、在皮肤上敷药等大手术,所以以为我的医术高明,名气因此响遍全国。”

回顾这些年的工作,似乎总在“解决”各种各样的问题,却很少去思考:解决这些问题真的有必要和价值吗?解决了之后呢?

我认为,一个人首先要有解决问题的能力。在这之上,每次遇到问题之前强迫自己去思考一下是否有避免问题的办法,并且是正方向、低成本、可实施的。久而久之,就会习惯以这种思维去思考问题。

个人见解
避免可以避免的问题,解决不能避免的问题。

献上一句我很欣赏的名言:

Intellectuals solve problems, geniuses prevent them. –Albert Einstein

故事二

缅甸有这么一个传说:有一条恶龙,每年要求村庄献祭一个处女,每年这个村庄都会有一个少年英雄去与恶龙搏斗,但无人生还。又一个英雄出发时,有人悄悄尾随。龙穴铺满金银财宝,英雄用剑刺死恶龙,然后坐在尸身上,看着闪烁的珠宝,慢慢地长出鳞片、尾巴和触角,最终变成恶龙。

之所以想起这个故事,缘于某天我无聊时翻看以前旧项目的代码(想当年还吐槽过这些代码如何如何烂。。PS:不是我写的),突然发现这些我现在写的这些东西竟与当年的那些烂代码有几分相像。然后重新code review了自己现在写的代码,有的的确很烂却不知道如何变得优雅(连Intellij都吐槽说too complex了……),有的可能设计得只有自己知道如何运行。

在review的过程中,多多少少也能想明白以前旧项目那些烂代码所遭遇到的困境,也能体会到当时作者的心情——不是我不想优雅,奈何条件不允许(时间、成本、变数等)。

Anyway,我们还是应该以此为方向。

以铜为镜可以正衣冠,以人为镜可以明得失,以史为镜可以知兴衰。