再说说框架,学习框架最好的方式绝对是去官网。因为通常知名框架的文档写得非常好。
例如说 Java 的框架,通常官方有三种东西可以参考:
1. Getting Started(快速入门)
2. User Guide(用户指南)
3. API Doc(API 文档)
首先 Getting Started 让你能在极短的时间内搭建一个最小的“演示项目”,用现成的、最精小的代码实现的。
它的好处是让你对框架有一个亲自接触后的认知,知道它是干嘛的。不然我给你一个高大上不容易理解的说法,你自己体会不出来它是干嘛的。你没接触过完全的 ORM 框架的时候,你能想象出 Hibernate 究竟是怎么个效果和用法?
同样的,如果你没有首先对它有个整体的感受,你直接从头看文档,会耐不住性子,因为文档将功能一块一块展示的。
所以如果将要接触的一个新框架有 Getting Started 我一定会看,并且亲自实践。
然后 User Guide 通常指的就是对框架方方面面进行讲解的教程文档。通常可以跳着看,但是跟看书一样要把目录完整的看完,因为你不看完的话,不知道那些是你暂时用不上的,那些是你用得上的。当然通常核心部分一定要看完。
最后 API 文档,其实是最不重要的文档。因为现在的 IDE 工具如果使用依赖管理工具(Maven 或 Gradle)的情况下,如果你想看源码它会自动帮你下载源码 JAR(*-source.jar)然后用非反编译的方式打开,文档在源码上都有。
而且 API 文档就是用构建工具从注释中生成的网页放在服务器上供你浏览的,其目的也是方便你查阅类库之间的关系以及方法、常量和相关注释等内容。通常在你写代码的中途会用到、
你对这些文档有认识以后就知道该怎么正确的看它们,更加系统的入门和深入一个框架。
例如说 Hibernate 是怎么做的呢?
1. 首先它用一个非常非常傻瓜的教程教你怎么从头使用它(避免你在之前的准备工作中走弯路):
http://docs.jboss.org/hibernate/orm/current/quickstart/html_single/这就是它的 Getting Started
2. 你对 Hibernate 有了基本认知和体验过以后,就可以正式学习它了。这时候它会提供一个非常完整的文档给你看,有详细的目录:
https://docs.jboss.org/hibernate/orm/current/userguide/html_single/Hibernate_User_Guide.html这就是它的 User Guide(通常 User Guide 是可以跳着看的)
3. 文档注释既然叫文档注释,因为它可以生成文档,知名开源框架自然也不例外都会提供它方便查找好阅读:
https://docs.jboss.org/hibernate/orm/3.2/api/这就是它的 API Doc (通常没有什么从头到尾阅读的价值,更多时候是查阅的时候用的)
如果你按照上面的方式,你会发现绝大部分的知名开源框架都提供这些东西,并且它们的性质是完全类似的。既可以让你非常快的入门,因为很多时候一个 Getting Started 实践完以后就可以做很多事情了,所以分分钟上手一个框架并不是假的。然后再使用和开发的过程中再去阅读用户指南和 API Doc。
学习一个框架,成本真的极地。但是就是这样一个成本极地的事情,很多人都不知道正确的方式,导致学习起来费力,走了许多弯路。他们可能去百度搜(百度不到官网),看人家写的博客等等方式。或者干脆搜示例代码,还跑不起来,最后根本半懂不懂。
所以有很多人排斥学习新的技术,明明是一种很简单的事情,对自己也很有益。
我当初实习的时候,用 Maven 上的分类(例如 REST Web Framework)浏览框架,然后一个一个的看 Getting Started ,一个上午可以跑起来十几种框架,并且都五脏俱全的。然后写总结给上级。我实习的时候就是干这些事的,技术选型和解决难题,我几乎都没参与过业务的开发,包括现在。