初学者阅读源码三板斧

对于大多数初学者而已,面对一堆源码时是这样的

要准备好了喲

老司机要教你弯道超车,专业碰瓷了

第一步:看目录结构

1. 了解各目录的作用 2. 了解各目录的层级关系 3. 了解各目录下各文件的作用

看着这些熟悉的字眼,你难道没有臆想连篇一下? 难道没有充分的陶醉一下? 如果没有,那你不适合继续下去,去点点点吧,估计也不适合你,你该回去洗洗碎了吧

第二步:看结构

随便打开一个.py文件,看该源码Structure结构

左看右看,上看下看,看清楚所有的class及该class下的方法和变量 上点下点,把左边树所有的class、方法和变量点一点,随便看一看其实现 看了会怎么样? 不需要怎么样,看到你不吐为止,看着眼熟,看得跟喝水一样了,那就差不多了 心如止水大概就是这个样子了,我吐你一脸血。。。

第三步:搞关系

请问这里存在多少种关系?

姿势不对,多少关系都会让你搞乱的,正确姿势之一如下

1. 从入口程序开始找关系

2. 从你感兴趣的类、方法、变量等找关系 3. 从出错/调试过程中找关系

正常情况下,搞关系应该有很多姿势,请自行学习你用环境(IDE)的快捷键

原文发布于微信公众号 - 开源优测(DeepTest)

原文发表时间:2018-08-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏林德熙的博客

C# 使用转换语义版本号

本文告诉大家如何转换语义版本号,那么什么是语义版本号,语义版本号(semantic version)就是版本号带 alpha 等的版本号

1211
来自专栏云计算教程系列

如何在Ubuntu 16.04上使用Cassandra和ElasticSearch设置Titan Graph数据库

Titan是一个高度可扩展的开源图形数据库。图形数据库是一种NoSQL数据库,其中所有数据都存储为节点(nodes)和边(edges)。图形数据库适用于高度连接...

1482
来自专栏人工智能LeadAI

在NVIDIA Jetson TX2上安装TensorFlow

刷机的目的是把Ubuntu操作系统和JetPack SDK安装到Jetson TX2上。刷机的操作按照官方教程即可,比较容易。这个过程中有一点需要注意:Jets...

3462
来自专栏黑白安全

Pentest Box 简单使用教程 渗透测试盒子

顾名思义,这是一个渗透工具包,但是不同于绝大多数国内 xx 工具包的是,这里集成的大都是 Linux 下的工具, Kali Linux 上面的常用的很多工具这里...

2892
来自专栏企鹅号快讯

浅析负载均衡的6种算法,Ngnix的5种算法

常见的几种负载均衡算法 ? 1、轮询法 将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载。 2、...

3268
来自专栏企鹅号快讯

Python人工智能之图片识别,Python3一行代码实现图片文字识别

我们以识别诗词为例 下面是我们要识别的图片 ? 先看下效果图 ? 我们运行代码后识别的结果,有几个字没有正确识别,但是大多数字都能识别出来。 一行代码就能识别图...

6736
来自专栏人工智能LeadAI

使用Python解析MNIST数据集

最近在学习Keras,要使用到LeCun大神的MNIST手写数字数据集,直接从官网上下载了4个压缩包:

2584
来自专栏WOLFRAM

大家都记得去年Wolfram举办的一行代码比赛吗???

1633
来自专栏乐沙弥的世界

Oracle RAC OCR 的备份与恢复

        Oracle Clusterware把整个集群的配置信息放在共享存储上,这些信息包括了集群节点的列表、集群数据库实例到节点的映射以及CRS应用...

1222
来自专栏大数据挖掘DT机器学习

用Python调用百度OCR接口实例

本文主要针对Python开发者,描述百度文字识别接口服务的相关技术内容。OCR接口提供了自然场景下整图文字检测、定位、识别等功能。文字识别的结果可以用于翻译、搜...

9175

扫码关注云+社区

领取腾讯云代金券