尽力构建并运行代码
就想在看可运行的代码,从中学到很多上层代码结构,化为己用。
你是否非常熟悉如何构建你的当前项目?虽然构建通常非常复杂,但通过构建并生成可执行性的代码,你能学到很多
不要只注重细节
浏览一下代码,尽力理解不同代码段要做什么。领会到你正处理的代码的一些构思。
找到切入点,并查看代码如何在那里分支,随着你瑜伽熟悉代码,你可以随时回来查看
确信理解所有结构
记下所有你或许不熟悉的结构,如果有很多不熟悉的结构,你要做的下一步非常明显。如果你不知道代码要做什么,那你就走不了很远。即便只有几个你不熟悉的结构,你应当深入查看。你现在是探索你所用编程语言中你以前不知道的东西,为此花上几个小时来与调度代码,我也非常乐意。
对大多数结构已有很好了解,那现在是该做些随机深入研究了。
挑选函数或类,并开始逐行详细查看。这是硬仗开始的地方,但也是你要去的主要成功的地方。这里的构想,会形成你正在查看的代码库的思维模式。也不要在这上面画过长的时间,单在继续前行之前,你要尽力并极大吸收一些有内容的代码块。这个步骤,你也可以随时反复回过头来,每次你都会了解更多的背景,并收获更多。
前面这些步骤中,肯定有你困惑的地方,这是你做些测试的最佳时间。
在测试的时候,你的麻烦可能会更少,同时你也能理解代码。
如果你说没有测试
有助于你自己的理解,有助于你提升代码库,阅读代码时也能编写代码,这是该你出手做些事的时候,即便已经有了测试,通常你也可以编写一些测试,你总能收益的。测试代码通常需要换种方式思考问题,哪些你以前不太明了的概念也会变得更清晰。
提取奇特的代码,时期成为单独的程序
于都代码是个非常有趣的练习,即便置为节奏变化,即便你不了解代码的底层细节,你或许能知道一些代码在上层结构上要做什么。为什么不提取一些特定的函数,单独列为独立的程序,当你再执行小段程序是,调试也会更简单。反过来说,可能还需要一些额外的步骤,才能理解你正查看的代码。
代码不干净,有异味
为什么不重构它,不建议重写整个代码库,但重构部分代码,真的有助于你理解层次上升一层。吧你理解的函数拿出来,改成独立的函数。在你知道之前,原来的大函数看起来易管理,你可以在脑海中修改它。重构允许你把代码编程自己的,无须完成重写代码。如果有好的测试,有助于重构,单即便你没有好的测试,抽取你确定的函数并做测试,即便测试看起来完全不充分,单作为一个开发人员,你得学着相信你的技能,有时候你只需努力去做(重构)。
别找专家,他们会从上层结构中,向你解释所有东西,你会错失那些你自己详细查看代码是所能学到的细微差别,然而,如果不见效的话,你也不能理解,有时候,你能做的最好的事就是去问。
需要快速合理的理解某些代码,只能挑选上述步骤的其中一个,那我会选择“重构”
虽然你能理解的东西不会很多,但那些你领会的东西,你会牢牢记住的。总之,有件事你需要记在心里,如果你新接触一个重要的代码库,你不可能理解能理解他。这需要数天,数周和数月的潜心努力,接受这个事实。
当设计到代码库时,如果你能耐心并有条不紊的阅读(和编写)代码,你最终能熟悉项目的方方面。
原文地址:http://www.cnblogs.com/51Tsinghua/p/3775285.html