开源项目的代码学习经验

在阅读verilog代码之前,建议你需要了解大体功能,再去阅读代码,这样你读起代码来会很顺畅。

一、如何阅读源代码

1.基础知识:相关的语言和基础技术的知识。
2.项目功能:你先要知道这个项目完成的是什么样的功能,有哪些特性,哪些配置项。一般readme.md文件可以知道大概功能。(readme.md超级重要,一定要先熟悉)
3.用户手册:你先要读一遍用户手册,然后让项目跑起来,自己先用一下感受一下。
4.代码的组织结构:也就是代码目录中每个目录是什么样的功能,每个模块是干什么的。(自顶而下,先找顶层

二、代码是由哪些部分构成的?

1.接口抽象定义。任何代码都会有很多接口或抽象定义,其描述了代码需要处理的数据结构或者业务实体,以及它们之间的关系,理清楚这些关系是非常重要的。

2.模块之间的联系。我们的代码经常调用其他模块,因为它们会把本来平铺直述的代码给分裂开来,让你不容易看明白它们的关系。

3.流程。这是代码运行的过程。一开始,我们不要进入细节,但需要在高层搞清楚整个业务的流程是什么样的,在这个流程中,数据是怎么被传递和处理的。一般来说,我们需要画程序流程图或者时序处理图。

4.具体实现。了解上述的三个方面的内容,相信你对整个代码的框架和逻辑已经有了总体认识。这个时候,你就可以深入细节,开始阅读具体实现的代码了。对于代码的具体实现,一般来说,你需要知道下面一些事实,这样有助于你在阅读代码时找到重点。

代码逻辑。代码有两种逻辑,一种是业务逻辑,这种逻辑是真正的业务处理逻辑;另一种是控制逻辑,这种逻辑只是用控制程序流转。
出错处理。根据二八原则,20% 的代码是正常的逻辑,80% 的代码是在处理各种错误,所以,你在读代码的时候,完全可以把处理错误的代码全部删除掉,这样就会留下比较干净和简单的正常逻辑的代码。排除干扰因素,可以更高效地读代码。
数据处理。只要你认真观察,就会发现,我们好多代码就是在那里倒腾数据。比如:打拍。我们可以借助仿真结果查看数据。
重要的算法。一般来说,我们的代码里会有很多重要的算法,比如加法器等。这些比较核心的算法可能会非常难读,但它们往往是最有技术含量的部分。

三、总结

阅读代码的方法如下:
1.一般采用自顶向下,从总体到细节的“剥洋葱皮”的读法。
2.画图是必要的,程序流程图,调用时序图,模块组织图……
3.根据结果分析代码逻辑,将逻辑归一下类,排除杂音,主要逻辑才会更清楚。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值