怎么看别人的代码(1)

http://mindhacks.cn/2009/02/15/why-you-should-start-blogging-now/ 不错的博客《从现在开始写博客》

http://groups.google.com/group/pongba/browse_frm/thread/1c68f96519eabcb9/ 

 

作为女程序员

1,先考虑一个模块
        a,打开class view,根据class name 来判断这个类的功能。在心里对每一个类功能,已经类之间的相互关系有一个底。
              想想如果你是这模块的设计者,你应该怎么去设计?一般来说,有经验的程序员代码都会按照MVC模式去设计代码,
              并且每一个类的功能都会非常简洁。
          b,读class,先看私有变量,一个class中哪些数据,这是一个class的核心,大部分操作都是相对数据来操作的。
               然后看接口。

2,模块之间耦合
       如果你是设计者你应该怎么去设计?比如要你来设计3D游戏引擎?站在设计者的角度,用设计者的思维去多考虑问题。

3.有本书叫做code reading。

另外,我个人的建议是感兴趣那个部分去读哪个部分,然后做适当的外延。
代码阅读能力跟看书学习一样,熟能生巧。

对于一些开源项目,可以参考他们的设计文档或者前人做的研究。
现在出了不少读linux、python、apache代码的书,可以作个参考。

4. 
我个人系统从main作为入口,开始不断的延伸。
过程中最好是能够把代码运行起来,并且自己打印出来一些信息,这样很容易理清脉络。
然后结合一些工具,(我个人使用 emacs etags)这样能够快速的定位代码。
在一些地方,囫囵吞枣的过去,只要知道这部分(大致)是干什么的就可以,甚至是猜也好。
在一些地方,比如面向对象中的多态的地方,或者一些按照条件dispatch的地方,就需要研读,然后延伸到对应的数据结构,等等,这样容易明白设计的一些思路­。

回答: 要看懂别人的Verilog代码,可以按照以下步骤进行快速阅读: 1. 弄清楚模块的作用:首先要知道模块是做什么的,有什么作用,能够用一句话描述就够了。 2. 弄清楚重要的输入信号和输出信号:确定最重要的输入信号和输出信号是什么,不需要知道所有的信号,只要知道能体现出模块功能的信号是什么就可以了,称之为关键信号。 3. 了解重要信号的外部连接情况:弄清楚关键输入信号来自哪些模块以及输出信号提供给哪些模块,构建出大致的结构图。 4. 构建模块内部数据流:构建模块内部数据流,了解关键信号经过了哪些内部模块,做了哪些处理工作,输出信号又是如何产生的。通过正向追踪输入信号和反向驱动输出信号,快速构建数据处理流程。 5. 选择重点信号细看代码:完成前面的步骤后,选择一个关键输入信号细看数据流的处理过程,把数据流理清,然后再开始看不重要的信号。\[3\] 通过以上步骤,可以帮助你快速了解Verilog代码的结构和功能,从而更好地理解别人的代码。 #### 引用[.reference_title] - *1* *2* [到底怎样编写Verilog代码——FPGA入门(一)](https://blog.csdn.net/qq_35977545/article/details/107552655)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [如何快速阅读verilog代码?](https://blog.csdn.net/icxiaoge/article/details/80457058)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值