菜鸟好文推荐(二十三)——成为一名更好的程序员:如何阅读源代码
来源:互联网 发布:mac系统怎么升级 编辑:程序博客网 时间:2024/06/11 12:43
但是也有一个不好的地方,那就是阅读源代码太困难了。每当我看到一个新的代码库(code base)时,这种让人眩晕的感觉就充斥了我的大脑。我的内心告诉我压根不想趟眼前这趟浑水。
这是(希望是)正常的反应。当我们的大脑接触过多的新东西,就会产生排斥。造物主赋予我们的这台强大的模式匹配机器根本找不到规律。所有的抽象(abstraction)都是之前没见过的,类的名称也毫无印象。程序又到底是从什么地方开始执行的?
对此,我能给出的一般性建议如下:1. 寻找并建立自己能够理解的初步基础,通常就是主要的入口点(main entry point)。2. 从这个基础开始,逐步探索主要功能。3. 记录下自己的见闻。
从头开始
窍门就是给自己一个起点。我是这样做的。我通过-h选项运行程序,并调用help命令。之后我复制其中一条help文档字符串,以此为检索词搜索一遍代码库,找到这个帮助文档所在地方。通常情况下,调用help命令之后你会发现离程序的主入口点很近了。
辨明轮廓
找到主入口点之后,我会运行几个文档中提供的示例。然后,我会试着追踪主要的代码块,大致了解下每个部分是如何连接起来的。
我会问自己,是否存在一个管理程序,负责调用一堆帮助函数和类?是不是有一些类是平级关系,相互之间轮流交换控制权?是不是有一个程序逐步执行的主任务队列?
了解全局有助于你理清小细节。如果你没有理解程序的主流程就闷头读下去,那你很可能会被细枝末节搞得焦头烂额。
勤做笔记
我习惯直接在代码中做笔记。做笔记的时候,我会使用特殊的注释符(例如,使用#=>,而非常用的#),这样可以将我自己的笔记与原作者注释区分开来。
如果碰到巧妙的技巧、不易理解的流程、编程架构(construct)的漂亮使用方式或者是其他任何你想牢记的内容,务必要做笔记。如果你读不下去了,你也可以做个记录,提醒自己之后要回去再读看不懂的部分。
通过写下你的思绪,你实际上是在把那块代码变成你自己写的。慢慢地,你就会开始在工作中自然地用上新掌握的那些架构(construct)。
融汇贯通
学习编程,是一个反复读代码和写代码的持续过程。只要你愿意接触不同的风格、代码,最终你会形成自己的独特视角和思维。
原文链接:http://www.codeceo.com/article/read-code-be-better-programmer.html
- 菜鸟好文推荐(二十三)——成为一名更好的程序员:如何阅读源代码
- 成为一名更好的程序员:如何阅读源代码
- 成为一名更好的程序员:如何阅读源代码
- 成为一名更好的程序员:如何阅读源代码
- 成为一名更好的程序员:如何阅读源代码—兄弟连IT教育
- 英文阅读:如何成为更好的程序员
- 如何让自己成为一名更好的程序员(沉思录)
- 菜鸟好文推荐(八)——为什么我不想成为Web前端程序员
- 菜鸟好文推荐(二十二)——让老板开心的程序员不是好程序员
- 菜鸟好文推荐(十三)——关于代码审查的几点建议
- 如何成为一名优秀的程序员(二)
- 成为一名更好的程序员,需要懂什么?
- 菜鸟好文推荐(一)——程序员科学熬夜指南
- 菜鸟好文推荐(二十五)——如何编写更棒的代码:11个核心要点
- 如何成为一名优秀的程序员?
- 如何成为一名优秀的程序员
- 如何成为一名优秀的程序员
- 如何成为一名优秀的程序员?
- ROS新手教程【四】构建工作空间
- "package restore..." 问题解决
- snprintf与sprintf的区别
- ssh中关于权限管理的设计技巧
- c文件操作
- 菜鸟好文推荐(二十三)——成为一名更好的程序员:如何阅读源代码
- 工业4.0
- NodeJS学习笔记(一)——异步I/O的理解
- 凹入表示法(C语言版)
- 学习安卓基础之android 拖动和拖动原理
- 动态修改UINavigationBar的背景色
- 【Leetcode】Single Number
- description The resource identified by this request is only capable of generating responses with cha
- English summary in November