小皮 home

一贯性真的很重要(Consistency really make sense)

12 December 2008 - Zhu Hai

Google的C++代码规范的快结尾的地方,写了这样一段话

Existing Non-conformant Code

You may diverge from the rules when dealing with code that does not conform to this style guide.

If you find yourself modifying code that was written to specifications other than those presented by this guide, you may have to diverge from these rules in order to stay consistent with the local conventions in that code. If you are in doubt about how to do this, ask the original author or the person currently responsible for the code. Remember that consistency includes local consistency, too.

哇,同学们,注意啦!这不是在说代码规范啊,简直是在教你做人的哲学!

一贯性(consistency)的概念太好了!

它是一种包容的心态,是对过去系统的兼容,是对历史的尊敬,是一种允许存在不同意见的胸襟。

这种胸襟体现在:不仅你允许不同意见存在,你甚至还会去帮助他维持自己的不同意见!(保持别人思维的一贯性)

也就是所谓的入乡随俗,真正牛叉的人不光是自己有行动力,他还能兼容到别人的行事特点,使得别人在和自己共事的过程中发挥最大的能量。

而有多少人能够做到这个胸襟?有多少毕业生一进入公司首先想到的是抱怨那里的环境(更好一点是试图改进),如果能够首先理解包容目前的做事方法(包容的前提首先要对现有的环境热爱),之后再在保持一贯性的前提下做出改进,那发出力量将是可怕的!

学过武术的人应该知道,只有下盘在地上立稳,上身以此为基础发力,才能发出真正有力量的攻击。

一贯性就是你立足的土壤。

再说到小一点,软件的使用,你如果能够保持一种一贯性,并在长期的使用过程中保持对过去选择的尊敬。

比如始终使用一种输入法,一个邮件客户端,最终也势必给你自己带来很多意想不到的便利。

我从工作一开始就习惯给每接到的任务创建一个单独的文件夹(首先标上时间之后是任务名称,这样文件夹会按照时间先后排序),到前几天需要查找毕业论文的开题报告时,我突然发现这个一贯性力量是多么强大,我不光可以很容易找到对应的资料(到2007年开题之前的那几个月扫一眼目录),而且对从入职第一天到现在所做过的所有事情一目了然。

我开始越来越感受到这样一个事实:

革命往往轰轰烈烈,但是可能什么都不能改变;

改良往往静悄悄,但是长期坚持下去产生的改变是深远的。

我已经不再会尝试一下子破坏性地改变什么东西,而是知道日复一日的坚持的重要,我很享受这种慢慢来的过程,也许是前段时间读古文所找回的从容与淡定。