IT 技术日新月异,想必每个 IT 人都会有类似的焦虑:我该学习什么?哪些知识学到就是赚到?怎样学习才能最有效提升编程能力?
阅读优秀的代码是提高编程能力万无一失的办法。诚然,提高编程能力的显著方法是写更多代码,但也需要静下心来品味优秀的代码,大侠行走江湖也需要武功秘籍,而当今优秀的开源项目代码便是程序员的武林秘籍。
优秀的开源项目浩如烟海,应该如何选择适合自己的项目呢?
选择方式有很多,比如项目使用到什么开源项目就学习该项目的源码,比如基于 Apache Dubbo 构建微服务,则可以学习 Dubbo 框架源码,理解其底层机制以及原理(比如服务治理),学以致用;阅读那些让你印象深刻或者自己可以掌握的源码,比如从一个小项目或者一个插件开始,也是不错的选择;最重要的是,大多数人时间有限但选择又太多,一定要选择适合自己的,能够融入自己的知识体系。如果你是云原生爱好者,那么阅读 Kubernetes 核心源码就是一个非常好的选择。
找到一个合适的开源项目后,但在具体实践的时候常常因为一些不正确的看法而误入歧途,中途折戟:缺乏自信,我并未参与该项目开发,因此我很难深入理解其源码。
数据结构和算法很重要,所以只需要研究开源项目的数据结构和算法就够了。
“Talk is cheap, show me the code”,一头扎进源码,只见树木不见森林。
这些看法要么会让人半途而废又或者徒劳无功,那该如何更高效的学习开源项目的源码呢?
简而言之,纵览全局,按需学习