做IT经常会看到“最佳实践”。数据库查询的最佳实践,分布式系统最佳实践,编码规范最佳实践,系统设计最佳实践 …
你别说,“最佳实践”还真是挺省事的,自己不知道该怎么办,把别人的“最佳实践”拿来用就好了。要说服同事老板也很容易,这是人家某XX大公司,某XX大牛的最佳实践 …
上下文
最佳实践是不是好东西?嗯,不是坏东西。不过事情没这么简单,本质上,孤立地聊最佳实践和脱离计量谈致癌一样无聊。这里有很重要的前提:上下文。
别人是什么技术背景,又遇到什么具体问题,而我们要解决的问题,是不是有类似和同比性?好多人看新闻只看标题,现在也是一样,只晃了一眼标题和简介,连怎么回事都没有搞清楚,就开始大唱赞歌。每一个具体的解决方案都是有具体的场景的。没有两片相同的树叶,也不会有完全相同的两个案例,辩证的角度来说,“最佳”本来就是不能复用的。你自己问题的最佳解,还得自己来寻找。
二手知识
我们高唱最佳实践,还有一个原因是,它让我们摆脱了未知技术的细节。正因为不懂不明白,所以才会去找最佳实践。找到以后,囫囵吞枣地用起来,也还可以,就不必自己再去学习更多的技术细节了。毕竟人家都是牛轰轰的人,人家的研究自然是靠谱的吧,真的是这样吗?二手知识和嚼过的食物一般的确更易下咽,可并不好吃。不仅如此,二手知识跟二手烟一样有害。
这样的二手知识,和兴起的付费订阅内容是一样的。我们企图用“最经济、最实惠、最节约时间成本”的方式获取大量的知识,可惜都是痴人说梦。不能嫁接到自己的知识树体系上的知识,都不会开花结果。没有系统的学习和整理是不能完成这个过程的,在学校大家应该都有这个经验,只靠听老师讲讲课抄抄板书,似懂非懂得就能掌握知识了?
学习新东西总归是慢的,不过越不努力学,就永远都不能提高。高效的学习方法是靠不断尝试,自发生长的,人人不同。每个人都有量变到质变的过程,这和读英文文档一样,惧怕是没有用的,其实只要不断阅读,就可以做到越来越快,越来越好了。吞咽别人的二手知识,永远都只能跟在别人的屁股后面,只有自己掌握了学习的方法,才能超越。
如何使用最佳实践
反最佳实践,并不是要完全抛开它。最佳实践是别人整理的非常有价值的经验,是一个绝佳的提纲。对于一无所知的我们,可以从这个提纲出发,去拓展知识。这就好像学习一个公式,背下来并没有意义,只有当我们能从容证明它的时候,差不多就算是有了可以使用它的基础了。
最后,对于言必谈“最佳实践”的家伙,只需要告诉他,“Bullshit,Tell me WHY!?”