想要阅读一些开源项目或框架的源代码,不知道从哪里入手?

简介: 有个朋友在知识星球上向我提问。

我的建议是从Spring的源代码入手。至少我自己也是这么做的,毕竟Spring里有大量的设计模式和OO编程的最佳实践。我之前在SAP使用SAP自己的开发语言ABAP进行日常工作,后来因为工作原因也需要用Java开发。虽然SAP之前大多数产品都是基于ABAP开发的,但是现在公司在向云转型,越来越多的云产品是基于Java Spring来开发了。我觉得Spring 5年之内都不会过时,值得程序员花力气去钻研。


请阅读知乎问题: 学习spring源码的意义是什么呢?


然后怎么去学Spring呢?如果一头扎进Spring的代码海洋,肯定就直接淹死了。


我的两个方法:


1. 边看书边看源代码。


我看的是这本书,边看书,边自己写读书笔记。




如果发现自己提笔却表达不清楚某个知识点,说明这个知识点自己其实还未真正理解,那么再回过头去看书。


下面是我写过的一些读书笔记:


Manage your test case with @SuiteClasses

How does @Autowired work in Spring framework

Run only given sets of your unit test via @Category

Use @Rule to define custom rules for your test method

How does annotation @Cacheable work

A simulation of Java Spring dependency injection annotation @Inject in ABAP

2. 边看源代码边自己写代码,调试代码


自己用Spring搭一个Hello World的应用,然后一点点往上添东西。可以参考我的这个Github Repository里的commit记录看我是如何添加新的功能的。




不断写代码,调试代码,把自己学到的新东西写出来。


为什么要写出来呢?


在我的微信公众号文章SAP成都研究院35岁以上的开发人员都去哪儿了?里提到,科学研究表明,在实战中学习,教别人,是最有效的学习方法。。

相关文章
|
5月前
|
设计模式 程序员 测试技术
阅读开源项目源代码的方法与心得
阅读开源项目源代码的方法与心得
57 0
|
7月前
|
消息中间件 设计模式 缓存
怎样更好地阅读源码?
最近,为了提高团队成员技术水平,考察了大家源码阅读情况。作为第一期任务,选择了spring框架,范围是spring-beans,spring-context,spring-core,以及spring-web。考核方式为:了解spring框架作用、核心概念,并选择感觉最重要的几个类进行详细阐述。
68 0
|
9月前
|
JavaScript 程序员 API
程序员为什么会在开发中阅读源码?
作为程序员的大家想必都会在开发的时候,去阅读源码。在实际开发中,开发者经常需要阅读和理解源代码,阅读源码是一种非常有用的技能,它可以帮助程序员更好地了解代码、解决问题、学习新技术和提高编码能力。阅读源码的过程实质上是对软件构建技术和架构深度的一种持续学习和理解。阅读源码可以揭示代码的内在逻辑,这被看作是对技术深度理解的一种体现,它能提高我们对技术的理解程度。结合阅读《Node 中的 AsyncLocalStorage 的前世今生和未来》这篇文章之后,我深刻体会到了作为开发者阅读源码的重要性和必要性。通过阅读这篇文章,我对 AsyncLocalStorage 的实现原理和使用方式有了更深入的理解
126 3
程序员为什么会在开发中阅读源码?
|
Java 程序员
理论:第十一章:大厂程序员如何使用GitHub快速开发学习
理论:第十一章:大厂程序员如何使用GitHub快速开发学习
理论:第十一章:大厂程序员如何使用GitHub快速开发学习
|
设计模式 Java 程序员
想要阅读一些开源项目或框架的源代码,不知道从哪里入手?
想要阅读一些开源项目或框架的源代码,不知道从哪里入手?
比心源码如何开发,这个功能要会实现
说到比心源码,不如讲讲比心源码实现聊天室功能该怎么做?
比心源码如何开发,这个功能要会实现
|
程序员 测试技术
阅读优秀代码是提高开发人员修为的一种捷径
导读:原文作者Alan Skorkin是一名软件开发人员,他在博客《Why I Love Reading Other People’s Code And You Should Too》中分享对软件开发相关的心得。
1177 0
|
Java 数据库 NoSQL
也许能帮到你一点!eboot框架基础版发布
每次开发都从0开始,重复造了无数个轮子,或者是把之前的项目抠出来,改吧改吧。但是技术的更新速度太快,甚至还见过现在开发的项目用jdk1.6的,因为老项目用的1.6······ 为了简化项目开始这一步的操作,有了开发eboot的念头,已经有很多前辈开发过类似这样的东西,在这里先感谢一下走在前面的前辈们,但是每个人的都会有一些不同,能给大家提供多一种的选择也就足够了 eboot简介 目前发布一个基础版,适用于中小型项目开发,后续会加入更多功能,以满足大型项目的需求。
1243 0
|
测试技术 程序员 安全
再谈文档必不可少
项目文档必不可少,必不可少,再小的项目,别人再和你吹嘘项目多么简单,领导再告诉你时间多么紧张,客户再不上线就要损失几十万,统统都不是你的问题,唯独不写文档是你的责任! 我在《人月神话》的解读中已经深入的理解了文档的必要性,很多时候人只是还不够强大,经常败在时间上,败在压力上。
1099 0