程序员心底的小声音[1]

时间:2020-11-01 18:41:42 职场动态 我要投稿

程序员心底的小声音[1]

编程大约有三个境界,新手,高手,和高不成低不就的中手。这三个境界,大致和王国维先生划定的做学问的三个境界一一对应。 一般来说,如果不经过几十万行的代码的锤炼(衣带渐宽终不悔,为伊消得人憔悴),或者长期在一个高手团队里面打磨切磋,那么无论怎么样的理论熟悉,打字熟练,考试全A,编程起来,都应该算是中手。一个中手如果机缘很好,得到高人亲自指点,则能很快成长为高手,如果没有这样的机缘,那就要在"众里寻她千百度"这个层次苦苦的求索锤炼很久,才能"蓦然回首".

程序员心底的小声音[1]

读书是一种很好弥补没有高手在场的方法,都说书是最好的老师嘛。可是现实是,高手写给中手的书很少。在任何行业,适合新手的入门的书很多,适合中手的书就很少。 原因有两个,一来高手极少愿意耐心的的指点成长秘诀,就算写了,也是蜻蜓点水,因为这些经验啊结论啊,都被他们本身提炼成了珠玑,他们觉得最重要的也就是这么寥寥几句,也没有太多的废话好写。

而读者如果没有类似的`经历,则看到这些珠玑,只是觉得把玩颇为有趣而已,极少能有同感。 鲜有高手,能把技术书写成散文集,如 Brooks 一样,把经验教训和经历背景等一一道来,并且从这些经历中抽出一般性的知识。所以,高手的风格一般是浮光掠影概括一下大致自己领会到的几个原则和教训。这些寥寥数语的珠玑,对于其他高手来说一看就懂,但是对于中手来说就很难以理解。所以很多高手写出来的给中手看的书就曲高和寡。二来,中手其实水平差异巨大,偏好也各不一样,有的或许根本认识不到自己应该走的成长轨迹,有的认为这些书籍是片面知识,所以把不喜欢的书都给扔垃圾堆了,光捡自己喜欢的书看;有的未必看得上高手的经验,认为高手说的那些自己也早就领悟到了。所以,也不喜欢购买这些书籍。这两个原因,就造成了高手提携中手的书在市场上很少见到。

我们前面说了,对于中手,特别是在"寻她千百度"这个层次的中手来说,或许本身已经捡到了一些珠玑,或许对于像 《Pragmatic Programmer》 里面说的那些 Tip,有的是深有同感的。 比如 DRY (Don't Repeat Yourself 不要重复你自己), 基本上大家都知道,可是在实际中(至少我自己)还是不停的一次一次的犯错误,做事情不符合 DRY 原则(一次一次犯这个错误本身也是一个DRY错误,因为DRY原则要求你对于每种错误你只能犯一次)。 读到的时候深有同感,写代码的时候却忘到 Java 国去了,这还真不是个案,是非常普遍的现象。

能不能让正确的原则指挥正确的行动本身,其实就是区分是否是高手的一个显著标志。 试想,两个都了解KISS原则的程序员在一起写代码,高手的代码必然是自然流露出 KISS 的优雅,而中手或许需要旁人提醒和多次重构,才能达到理想的状态。 出现这个问题的原因很明显–中手没有完全内化 KISS 原则,所以尚且不能"运用自如". 内化是一个非常复杂的认知过程,本身涉及到大脑中 mind set 和 paradigm 的切换, 所以必然不是一个简单的隔夜就能完成的过程,这也就是为啥能够"消得人憔悴",但是切换一旦完成,实践中就会自然流露出这种新的认识,也就是到了一个新的境界,发现灯火阑珊处。

那么原则和知识的内化这个过程怎么能够加速呢?也就是说,怎么较快的到达高手境界呢? 可以肯定的说,光靠对自己说我"下次一定按照这个原则这样做"是不行的。认知科学认为,频繁的高强度的外部刺激和自主的有意识的反复提醒是加速内化的两个重要方法。 第一个方法需要外部环境的支撑。 试想,如果一个程序员不是天天和复杂文本处理打交道,他必然没有足够外部刺激来熟悉和内化正则表达式; 如果一个程序员不是天天和极度复杂的大项目打交道,用全自动编译环境和自动单元测试也显得无甚必要,所以,除非你正好掉进了一个天天有高强度训练的环境,否则全靠第一点是不可能的。 尤其是自学一门语言和一门技术的程序员,往往在没有高强度训练之前就拿着这些技能投入工作了,因此想成为某方面的高手,只能采取第二条路,就是有意识的强化实践和反复提醒。

 

【程序员心底的小声音[1]】相关文章:

程序员的面试小技巧总结10-22

程序员的小笑话搞笑短信12-22

精选关于程序员的小笑话搞笑短信09-14

2017小语种考试俄语1-6格的用法11-14

深藏心底的那朵花励志文章08-31

职场励志小故事:将脑袋打开1mm09-20

程序员的创业历程09-26

大家的日语1第1课11-06

演讲的声音技巧09-28

程序员的黑白简历封面08-13