新人如何快速剖析源码
2023-02-18 16:36:31 时间
1.引子
应交流群小伙伴要求,写一篇《新人如何快速剖析源码,掌握原理》的文章。特地花一小时整理一下,大家共同提高哈。
2.学习步骤
其实如果多看作者的几篇系列文章,就会发现套路就是四步骤:
- 原理概览
- 简单样例
- 源码剖析
- 总结提高
2.1 原理概览
官网永远是第一学习地(切忌上来直接看别人博客,网上质量堪忧,很多旧版本、错误论点)。上官网可以确保咱们大方向不出问题。在官网学习项目的初衷、特性、地位,全局掌控一下这个项目的定位。
哪些渠道?
例如独立域名官网(spring系列、apache系列)、github等。
2.2 简单样例
看再多不多不如自己跑一遍,看看怎么用,有什么效果。不知道怎么写样例?官网都有。
2.3 源码剖析
简单样例有了,可以debug了,一步一步跟着源码看(在核心步骤处打断点)。
- 主要脉络法:先把握主要脉络,模块化去分析源码,切忌一上来就死扣细节,可以画图辅助。
- 专题剖析法:掌握基本思路后,以独立专题的形式来看源码细节,效果更佳。(细节看完后,配以专题博客,效果更佳)
- 疑难解决法:如果实际中用过,甚至遇到了问题,直接带着问题去找答案。
- 实践优化法:如果有机会在公司项目中使用上线,利用自己了解的原理、特性,做到了精细化使用,优化了性能,那就是完美中的完美,技能+绩效双丰收...
了解基本概念原理后,还看不懂源码怎么办?
- 参考前人智慧:看看质量高的博客,例如博客园,部分CSDN,简书等。切忌照搬别人的博客,无脑copy,毫无价值。要以自己一个新的视角去重新排版博客,在某些角度写的更好才有价值。(比如源码别人剖析挺好,但总结不到位,你自己补上流程图、原理图等)
- 多看几遍:要纪录下来,每次比上次多看懂一些,不必一次全部看懂全部。
2.4 总结提高
站在一个俯视的视角,总结这个项目,本次对这个项目的剖析,还有哪些待完善的,以便自己将来回过头来再完善。
3.番外篇
- 有难度:新人肯定上手会有一定难度,但迈出第一步最重要,哪怕你就总结了一个小模块。这就是零的突破,一直写一直开心。
- 很无聊:阅读源码很无聊,但想要当技术大牛,必须经历这个过程(国内程序员行业已经很卷了,算法大神不算哈)。可以另辟视角,找点乐趣。比如研究下作者,研究下算法。其实源码看多了,就发现都是套路(UML类关系、设计模式、面向对象设计原则等等),熟能生巧。
- 在此祝:祝大家能快速入门,花最少的时间掌握源码阅读技能,早日年薪百万,迎娶白富美。
相关文章
- 使用Commons Logging
- 记一次 .NET 某自动化采集软件 崩溃分析
- [C# 中的序列化与反序列化](.NET 源码学习)
- .NET 向量类型的运算结果范例——用于学习Vector类所提供百多个向量方法
- 树莓派(香橙派)通过.NET IoT 操作SPI编写屏幕驱动 顺手做个四足机器人(一)
- WPF自定义控件之消息提示
- .NET跨平台框架选择之一 - Avalonia UI
- 篇(16)-Asp.Net Core入门实战-权限管理之用户创建与关联角色(ViewModel再用与模型验证二)
- 学习ASP.NET Core Blazor编程系列十——路由(下)
- 代码生成器(CodeBuilder) 2.9.4 稳定版
- 篇(15)-入门实战-权限管理之用户创建与关联角色(ViewModel再用与模型验证一)
- 篇(14)-Asp.Net Core入门实战-权限管理之角色编辑和赋权(ViewModel-DTO初探)
- 算法-2 选择排序、冒泡排序、插入排序
- 篇(13)-Asp.Net Core入门实战-将功能代码增加异步功能Async和配置简单防范CSRF攻击
- NET 6 实现滑动验证码(一)、创建工程
- 算法-1 算法复杂度
- 在WPF中使用Prism弹出自定义窗体样式的对话框
- 使用Fody时,CS-SCRIPT动态代码无法找到程序集
- C# 使用SIMD向量类型加速浮点数组求和运算(3):循环展开
- aspnetcore两种上传图片(文件)的方式