英文原文:How to Read Code
“我讨厌阅读别人的代码”是所有经验层级上的软件开发人员之间普遍存在的问题。然而,这又是一个必要的技能,特别是对于开发人员进入到现有的代码库中的时候,如果你以正确的角度和正确的工具来处理它,这可能是一个愉快和有启发性的体验。
作为读者,你看到的所有产品都是成品,除非你做一点挖掘,否则你唯一得到的就是屏幕上的其他单词。
1. 善用 git 命令
假设你使用 Git ,但是如果你使用 SVN ,那么这个想法也是同样适用的。
使用** git log 查看整个代码仓库的提交历史记录**。此命令将打印提交消息,因此,如果要执行类似搜索提交消息中引用 someFunction 的提交,请勿忘记使用 grep 命令:git log | grep someFunction -C 3
(-C 3将显示匹配到的上下文三行内容)。
git log 还可以显示具有 -p 标志的单个文件的历史记录:git log -p index.js。 注意最近一直在修改代码的人,这样你就能知道在出现问题时找谁咨询了。
如果你的项目托管在 GitHub 或类似的网站上,你可以通过阅读问题、pull 请求和代码复审来获得大量的信息。格外留意产生最大讨论的问题。这些可能是你最终会遇到的痛点,你会提前知道如何处理它们。
2. 阅读规范
规范是新的注释。 阅读单元规范,以确定什么功能和模块是被支持的以及哪些边界情况要被处理。 阅读集成规范,以了解用户如何与应用程序进行交互,以及应用程序支持哪些工作流程。
3. 查看使用的插件
查看项目使用到的插件,然后根据这些插件可以找到使用的地方,一般通过插件的用途也可以知道项目使用这个的作用了,也可以用作以后实现相同功能的方法参考。
4.查看 Main 文档
这可能看起来是很明显,但请确保您知道代码开始执行的位置以及如何设置。查看这里包含的文件,正在实例化的类和正在设置的配置选项。
你可能会在代码库的其余部分看到它们。这里的一些模块可能非常通用,并与其他代码分离。它们代表更小,更易消化的功能,您应该在尝试解决大型应用之前熟悉这些功能。
尝试在某些其他源代码中查找对这些模块的引用,以感受一下这些模块是如何被使用的。这可以帮助您了解如何适应整个应用程序。