码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 搞深度学习如何快速读懂开源代码?


    读懂开源代码太重要啦!!!但没有谁能像天才一样直接写出一个框架,很多人写框架其实都是从模仿开始的。而要模仿,又得看得懂框架源码才行。真是无限循环的难题。读懂可以四步走

    搜索网上资料

    阅读一个框架的源码,最基础的操作肯定是扫一遍网上的各种分析文章。通过这个操作,你可以对这个框架有个大致的了解。站在巨人的肩膀上,少走许多弯路。但如果你看的项目是公司内部的框架,那么你只能找公司内部的文档了,更甚者,有些连文档都没有。那么你可以略过这一步。

    扫一遍源码

    当你拿到框架的源码的时候,你可以大致把源码的每个包,以及每个包下面的文件扫读一遍。扫读并不需要你弄清楚每一行代码的意思,只需要让你知道源码每一部分的作用。

    如果一个开源框架足够标准,那么他的命名是非常语义化的。所以我们扫读的时候,通过包名、文件名就可以判断出这个包是用来干嘛的。例如 util 包是工具类,那我们可以直接跳过。vo 包是存放实体模型的,同样可以跳过。protocol 包是存放协议相关的等等。通过这么一个步骤,你会对整个项目有一个基本的印象,知道这个项目大概有哪些东西,哪些相对比较重要。

    找到入口

    通过扫读源码,应该能够发现一些入口的迹象,例如对于 Dubbo 来说,你会发现它有一个名为 dubbo-demo 的子模块,那么我们肯定重点看它。进一步发掘需求你会发现它的入口就是 dubbo-demo 中的 Provider 类、Consumer 类。我们可以直接接运行这两个类的 main 方法,并一步步跟踪代码的执行情况。

    通读源码

    找到入口之后,下一步就是通读所

  • 相关阅读:
    【白话科普】聊聊网络架构变革的关键——SDN
    一个简单HTML5期末考核大作业,学生个人html静态网页制作代码
    CDC一键入湖:当 Apache Hudi DeltaStreamer 遇见 Serverless Spark
    Qt中对象树的机制介绍以及底层实现,各种结果分析:(以及自己写容易犯错的点)
    SSM整合redis及redis的注解式开发和解决Redis缓存问题
    前端传String字符串 后端使用enun枚举类出现错误
    【生日快乐】SpringBoot SpringBoot 基础篇(第一篇) 第4章 SpringBoot 综合案例 4.7 修改客户功能
    威胁狩猎大合集
    基于ssm+vue的研究生推免报名面试系统 计算机毕业设计
    《CPU通识课》读书笔记
  • 原文地址:https://blog.csdn.net/m0_57290404/article/details/126408875
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号