python快速接手别人的代码_如何高效理解别人写的代码?

下面说的都是在没有文档,注释不完全的情况下理解别人的代码,主要分几种情况吧。

1.细节上的代码,比如计算过程,或者文档处理过程的代码,能够运行一遍,单步走一遍最好,如果不具备Debug条件的,那么需要就添加点print语句看看运行轨迹,在不行的话就拿好纸和本子,一步步算过去;

2.功能上的代码,先通过一些敏感的词汇猜测代码的功能,比如requestAlarm之类的,基本上就是请求告警,带这个这个目的阅读下面的代码,如果不对那么就重新猜测;

3.框架性的代码,先要对设计模式有一定的理解,GOF的23种模式一定要看(这本书名字就不用说了),然后就是软件架构模式(POSA v1-v5,这本书比较厚,看不懂不用强上)。看完之后在看一些大型的软件代码就比较方便,比如看到代码里面visitXXX的函数,基本上就是visitor模式了,这个时候你只需要了解数据结构和visitXXX方法就行了,其他的根本不用看;在比如,如果看到代码里面有Adapter的关键字,基本上就是适配器,找到接口转换的代码看看得了,其他的也不用看;在比如,如果看到Refactor关键字,那就是反应器,看到POSA上的UML图也知道自己需要关心那些函数,那些函数不需要关心。

阅读代码的时候好的IDE比较关键,可以快速的进行跳转,迅速构建UML的结构。如果没有好的IDE也无所谓,Ctrl-F或者Ctrl-Shift-F甚至find . -name "*.cpp" | xargs grep -n XXX也能完成这些工作。

写代码的时候,强烈不要依赖IDE,至少把代码提示给关了,这样增强自己的记忆,阅读代码的时候会好很多。

本人C++写的比较多,Java稍微少一些,Python用的不多,Python基本上要么是subline要么是vscode,难得折腾大的IDE。读过的主要是C++的代码,曾经一个项目,几十万行的代码,文档几乎没有。读过的Java代码一般是开源项目,Javadoc比较完善,Python除了书本上和demo几乎没读过什么大的代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值