您的位置:首页技术文章

菜鸟程序员,我来帮你读懂大型代码库

【字号: 日期:2024-12-19 11:37:06浏览:21作者:馨心
朋友Casey问我:“对于初级程序员,应该怎样阅读大型代码库呢?”我认为这是一个很好的问题,要想成为一个优秀的开发者,阅读代码库并弄清里面的内容是十分重要的。(对于新手程序员,PHP100还有这些可以帮助你:如何学好数据结构和算法,如何给程序中的变量起个好名字)在你的职业生涯中,你很可能会中途加入一个项目,并要学会正在进行的任务。或者更为恐怖的是有一个项目丢给你了,让你自己一个人搞清楚。 最坏的情形就是让你重写那些原来失败的代码,靠你的努力让项目再次运转起来。但更为常见的就是让你去维护一个之前员工写的代码库,但不幸的是那个员工已经离职了。当然,如果你正在参与一个开源项目,你很有可能会被要求去扩展它,做一些其它的功能。 尤其是新手程序员,我强烈建议你们阅读代码库,下面的文章是我这样做的故事,然后你要更向前一步。 菜鸟程序员,我来帮你读懂大型代码库 在我刚接触到新的代码库时,我常常会忽略文档和一些外部的细节,我不想有先入为主的意思,我就是想从文件结构上理解整个的项目结构,这个就能让我读懂很多,我经常会这样做,发现项目的结构,看看哪部分是项目的核心?看看项目是如何分解的?等等。 紧接着,我会开始阅读最底层的代码,不管排序,找到一个文件然后通读它,再换下一个,一直持续下去。这期间,我会记笔记,帮助我理解这些内容是如何连接在一起的,更重要的是我希望能找到对这些代码的感觉。有很多代码常常是项目风格的一部分,比如预处理检查,日志记录,抓取错误等等。完全可以先单独了解这部分内容,以后就只读有意思的那些部分。 我通常不会在某一点上阅读太深,我会先从宏观上对它进行把握,比如一个文件通过调用Y和Z返回了X,但在这个点上阅读每一个细节真的不是很重要。我会记很多的笔记,有时候它不像笔记,而是一系列的问题,随着我对它的理解,我会补充并回答这些问题。在阅读完最底层的代码后,我会做一个纵向的比较,让我能理解它们是如何分布和工作的。这就意味着我在下一次阅读它时,我会有对在结构方面有更好的理解。 接下来,我会直接跳到我感兴趣的部分,这些内容可能会很多,但不意味着你要做的有很多。我就是通读代码,主要是要找到结构。然后细致地去研究独特的部分,看看它是如何写的。 在这一期间,尤其是遇到难点的时候,我会试图寻找任何存在的文档。当然,如前文所述,你要先知道代码的结构,这样就可以更好更快地阅读文档。 希望上面的讲述可以帮助你阅读大型代码库。