DevOps之旅:运维人员阅读源代码的实用技巧
作者简介
陈晨,基础架构工程师,目前就职于中国银联。主要负责IaaS平台、容器平台以及运维管理平台的建设工作。本文将着重介绍运维人员学习源代码的一些技巧。
一、准备阶段
1.制定计划
读源码和读书一样,必须有时间计划,deadline是***生产力。
合理的制定计划可能需要你先全局掌握一下代码的结构,以及各个函数的重要程度、难易程度。
2.选择一本好书
作为学习资料,书一定是***的。
网上资料太零散,学习起来可能不系统;
较为系统的书一般都会将开源代码的配置、集成进行详细的讲解;然后会介绍一些通用模块,***再对每一个组件或者流程进行代码的跟踪分析。
在选书的时候,也应该注意选择。
可以通过书的各个章节介绍,来看该书是否按照这样的逻辑去讲述。
例如,笔者当初学习openstack的时候,根据目录选择了这样一本书:他的四个篇幅分别是基础-安装-代码-二次开发。这就是一个非常好的循序渐进的书。
3.选择一个好的IDE
笔者除了Java以外,全部使用Vim。当然,这完全取决于每一个人的习惯。
笔者一般比较喜欢轻量级的IDE,因此推荐一些轻量级的:
Vim
Sublime
SourceInsight
IDE的全称是集成开发环境。如果只是要将代码运行起来,只需要编译器或者解释器。代码完全可以在纯文本上进行编辑。
IDE提供更多的开发辅助功能,使得开发人员专注于代码的逻辑。
最常见的如自动纠错、代码补全、函数查询等功能。C的很多IDE还自动生成makefile,也省去很大的繁琐内容。
不过,IDE的功能性和简约型永远是一个悖论。
读者在选择IDE的时候,应当选择一个符合自己需求的IDE,不要过分追求功能强大。
一般来说,我们使用IDE可能有哪些辅助性的需求呢:
测试工具的集成
自动打包
代码定位
定制化、插件丰富
错误检查
调试
项目模板
4.下载完整版本库
完整的代码库是指反映代码迭代过程的各个历史版本。这样做有很多好处:
你可以获取代码的修改记录。
你还可以获取到完整的测试代码,当你要提交patch的时候,你可以借助版本管理工具生成针对不同版本的patch。
二、初识代码
1.阅读项目文档
大部分的开源项目都会对其架构有一定的描述,通读一下会让你项目有一个比较深入的认识。
重点关注类似Getting started、Example之类的文档,从中学习如何下载、安装、使用该项目所需要的知识。
比如openstack,官网上的网络拓扑讲解是最全面、准确的: