俗话说,工欲善其事,必先利其器。对于我们程序员来说,阅读大量的源代码是必不可少的。特别是对于那些比较大的源码,过多的源文件、类和方法数量,都会阻碍我们理解代码的因素,因此我们需要使用IDE的一些功能来提高阅读效率,才能加快我们对代码的理解速度。
我知道很多人都非常喜欢在Windows里使用Source Insight阅读源代码,确实Source Insight是一款非常好用的代码阅读IDE,它的函数预览功能是我非常喜欢的一个功能。但是在Ubuntu上使用Source Insight确是非常的痛苦。所以在Ubuntu机器上我习惯使用Android Studio阅读源码。
这里分享一些在Android Studio上我常用的一些技巧,这些技巧可以明显的提升代码阅读效率。需要注意的是,这些功能基本上都有快捷键,用光标配合快捷键来使用这些功能效率会更高,这些功能都是我在用Android Studio阅读代码时使用频率非常高的功能,希望大家可以亲自尝试一下,
看看是否会提高你阅读代码的效率
分屏功能
菜单路径:【Window】-> 【Editor Tabs】-> 【Split Vertically】/【Split Horizontally】
效果图:
在阅读那些源文件数量特别多的代码时,经常会遇到需要两个文件对着一起看的情况,这种情况下,分屏功能真的非常有用,可以免去在文件间切来切去。而且现在的电脑显示器都很大,
足够可以同时并排两个文件,反正屏幕空着也是空着。方法/变量预览
菜单路径:【View】-> 【Quick Definition】
效果图:
我特别喜欢Source Insight的一个原因就是因为糨的这个功能做得特别好,鼠标放到一个方法或变量上,就会自动在一个小窗口里显示出这个方法的实现源码或者变量的定义代码。最开始我并不喜欢使用Android Studio来读代码就是因为我觉得它没有这个功能,看代码时不那么方便。直到有一天,我突然发现在Android Studio里使用这个办法可以实现,我才开始喜欢上Android Studio。
这个功能最大的好处就在于读代码时,遇到不熟悉的方法,将光标放到该方法上,按下【Quick Definition】,就可以同时看到它的使用上下文以及这个方法的实现,非常好用。最近打开文件列表
菜单路径:【View】->【Recent Files】
效果图:
在使用Android Studio时会将代码上的‘文件路径’和'文件名子Tab'去掉,因为我觉得这样能够在一屏里尽可能多的显示代码,在阅读代码时,可以同时尽可能的看到更多的信息。但是这样做带来的问题就是如果有四五个文件,我需要来来回回切换着看的话,并不是那么的方便。所以这个时候【Recent Files】就非常有用了,它会将最近打开的文件列出来,我们只需要鼠标一点,就可以切换来显示另外
的源文件。类继承关系图
菜单路径:【Navigate】->【Type Hierachy】
效果图:
阅读代码时,有的类的继承关系很长,将光标放到目标类名字上,按下【Type Hierachy】,屏幕右侧就会显示出这个类的继承关系,对于继承关系过于复杂的类来说,这个让我们对它的继承关系一目了然。
也更有助于分析阅读代码。当前文件结构
菜单路径:【Navigate】-> 【File Structure】
效果图:
使用过Source Insight的朋友应该都知道,Source Insight软件里有一个小窗口,里面列出了当前源文件中定义的所有变量,函数,内部类等这些成员的名字。这个小功能也是我喜欢Source Insight的一个重要原因,因为我觉得它可以让我从整体上了解当前这个文件里有哪些东西。Android Studio的【File Structure】也可以完成这个类似的功能。查看函数/变量使用位置
菜单路径:【Navigate】-> 【Delaration】
效果图:
我经常在阅读代码时会遇到这样的一个困惑,我看到代码里定义了一个关键的函数或关键的变量,然后我就想找一个整个代码里有哪些地方使用了这个变量或函数。这时【Delaration】这个功能就非常的好用,它能列出所有使用了这个变量或函数的地方,并且是智能的列出来,不会像查找字符串结果那样把注释里的东西也列出来,而且列出的速度极快。
【Delaration】还有一个作用就是跳转到该函数或变量定义的地方去。
当光标在函数或变量定义的位置时,使用【Dalaration】就完成前一种功能,而光标在函数或变量被使用的地方时,按下【Dalaration】就会完成第二种功能,也就是跳转到定义它的地方去。