《高效能软件工程师的修炼》读书笔记六

《高效能程序员的修炼》读书笔记六

     第二章第二节:磨刀不误砍柴工

     --------------------------------

     做为一名程序员,你认为在我们的工作中,哪些是在砍柴?哪些是在磨刀呢?个人大概归纳了一下,不见得准确,砍柴更像是我们的工作本身,就是那些可以直接产生价值的事情,无论是对个人还是公司。磨刀更像是我们在工作之后的总结、反思、再学习的过程。对于是要砍柴多一些还是磨刀多一些,个人觉得实际上应该是一种平衡,而且每个人都不会一样。

     如果是一个还在学习开发的童鞋的话,可能磨刀的比例会更多一些。对于正在学习开发的童鞋来说,砍柴就是不断地练习或是敲代码。但问题是只单纯地敲代码,你能学到的东西少之又少。或者你通过不断地练习后,知道要这样完成,但不知道为什么要这样完成。要想知道原因,我们就需要在砍柴后去磨磨刀,就是要总结一下这样写的规律、反思如果是我要怎么写、再学习有没有更好地方式完成等一系列过程。经历这样的过程后,我们会对我们所掌握的能力,有更深层次的理解和掌握。学习是有生命的,并不是机械性地将技术知识拷贝到大脑里就OK了的。对于相同的内容,不同的人理解和体会是不一样的,这也是为什么导致学习相同的内容,不同的人学到的是不一样的。

     如果是一个初期程序员的话,更多地是应该去砍柴。因为这时的你已经基本将刀磨得不错了,至少是可以砍下一些小树了的。而你需要去掌握的是如何能将一把磨好的刀砍下更多的柴,这时需要不断地去练习的,练习你所已掌握的技术能力,将它练习熟练。这个过程就像是在练刀功一样!

     如果是一个具备一些经验的程序员的话,更多地又是回到磨刀上。因为这个阶段的程序员,已拥有了一把磨得不错的刀,又掌握了一些基本的刀功。也就是说,砍柴已经不是什么大问题了。这时,我们需要考虑地就是如何能将刀磨得更好一些、更快一些,或者是不是可以考虑换把更好用的刀等等。

     其实,对于磨刀和砍柴来讲,个人觉得应该是交替进行,在不同阶段侧重点是不同的。这就好像中国易经八卦里面讲的阴阳平衡吧,那一边多了都不是好的,最好的情况就是可以达到一种动态的平衡!

     那要怎么磨刀呢?首先,是要将自己学到的内容记录下来,记录是一件很好的事情。至于如何记录,之前已经讨论过了,这里不再复述了。其次,是要将学到的内容进行总结,总结归纳就是将相同相通的内容归纳在一起。这是由多到少的过程,不然,会因为内容过多导致记忆不清。最后,就是在记录、总结的基础上,再去学习更深层的内容或学习扩展内容等。而且,个人建议还可以多看技术类的书籍或网站之类的。

     那要怎么砍柴呢?练习有很多种方式,而且每个人可能都不大一样。但切记不要为了练习而练习!第一,练习第一次、第一遍或第一个例子时,尽量将这一次或这一个例子练习到熟练,尽量将自己所掌握的能力都在这一个例子中实现。第二,再找一些相同或相通的例子,将第一次或第一个例子所掌握的内容,进行加强。直到你觉得这些技术能力,你可以掌握和运用非常熟练为止。

     而关于磨刀和砍柴,你还有什么好的方法吗?

     --------------------------------

     本文中,部分内容摘自《高效能程序员的修炼》一书,感谢作者的分享!