如何通过阅读源代码学习?

有选择的阅读

跟着大师学习,让你更接近大师,学习不好的代码,有可能被带进沟里,如何发现值得阅读的代码呢?

  • github star超过10K的
  • 开发参与人数超过5人的
  • 文档完善的(如有多语言版本、区分普通用户和开发者文档等)
  • 用户多的(issue规模可以看出,对应npm,composer,pypi的downloads等)
  • 发展时间等超过半年

阅读步骤

掌握正确的阅读步骤,能够让你少走弯路,起到磨刀不误砍柴工的作用。正确的方法应该是带着问题学习。

  • 运行软件:软件解决了什么问题?
  • 看用户说明书:软件有什么特点?
  • 看开发者文档:软件整体架构是怎样的?
  • 看代码组织结构:当前组织方式的优缺点?
  • 看代码的数据库结构:数据是如何存储的?
  • 针对特定问题解决办法深入学习:我的方式是什么?作者的方式是什么?有没有更好的解决办法?

学习的要点

  • 学习解决问题的思路和方法:思路就是思考的路径,了解他人的思路,我们就有可能能变得和他人一样聪明。思路是方向,方向对了事半功倍,方向错了事倍功半。比如“空间换时间”,“并行”等。
  • 学习编程的技巧:比如类、方法、变量命名,语言特性,设计模式等。
  • 学习软件架构的方法:即代码目录结构,数据存放,数据库设计,数据流,使用的第三方库等。
  • 学习软件的商业逻辑:如软件的界面,交互,用户体验,营销方法等。