代码的阅读能力是软件工程师的基本功,也可以看作是软件工程师的竟争力之一。为什么这么说呢?是因为我们在解决问题时,我们不可能看到的全是自己写的代码,那即然这样,就得去读。要读,那么不同的人读起来是有快有慢的,快的人解决问题有可能也更快。也就是说代码阅读能力会最终影响我们的Performance。
即然是一种“功”,那就得练。如何练呢?我想第一要做的是意识上要让自己明白其重要性,如果意识没有,往往我们很难坚持去做一件事情。之后,就要沉得下心来,说实在的看代码一开始会是比较的枯燥的,尤其是对于大型的项目,但随着时间的积累,会看起来越来越容易和快。我的经验看来,看代码得对自己有点甜头,我们才能坚持。什么是甜头?就是我们通过看代码能知道别人所不知道的、能解决别人所不能解决的问题,只有这样我们得到了这种精神上的奖赏,我们才会更加的投入,从而形成一个良性循环。
此外,我觉得通过看别人写的代码能学到很多的东西。比如,能学到运用编程语言的特性巧妙的编写代码的能力、能学到运用好的数据结构去解决问题的能力,等等。在现在的Open Source环境下,更是为我们的这种学习创造了条件。
最后,如果代码阅读能力强了的话,我们很多情况是不需要去看API手册的,直接下载个源码来看看就行了。比如,GNU所提供的C++库,我们可以直接看其源码从而明白实现是如何做的、应当如何用,等等。