提高golang源码阅读效率的六个高级技巧

 更新时间:2024年01月31日 14:21:21   作者:golang 学习记  
随着业务的发展,自己对代码的审美的改变,我们不断的迭代这些代码,代码量可以说是与日俱增,代码的某些结构也会发生大大小的改变,这些都要求我们在阅读代码的时候,需要更快的效率和技巧

引言

在一个项目开发过程中,我们会很经常阅读代码,这里面包括负责不同业务的人的代码,也会可能涉及到一些框架源码。

也许更多时间是阅读自己的代码,随着业务的发展,自己对代码的审美的改变,我们不断的迭代这些代码,代码量可以说是与日俱增,代码的某些结构也会发生大大小的改变,这些都要求我们在阅读代码的时候,需要更快的效率和技巧。

只有深入经历过比较大型的项目,我们才会更希望有更强大的方式去应对和降低环境带来的复杂和变化。

下面就来说说我积累到的那些神一般的阅读源码的技巧。

第一个:在大型项目中游刃有余的行走

使用快捷键:alt+Home

大型项目的一个特点就是一个文件夹下面有很多的文件,通常多到你厌烦了每次去到里面的文件都要靠鼠标的齿轮不停的滑。

在当前文件使用alt+home,就可以帮你弹出这个文件所属的文件夹下面的所有文件,然后你就可以使用之前说到的 speed tying ,根据关键的几个字母定位到想要去的文件了。

第二个:在已经打开的多个文件之间来回穿梭

使用快捷键:alt+left/right left 表示左箭头,right 表示右箭头

这个快捷键可以大大减少自己写代码和右手切换到鼠标上的时间,也许你开始这个用起来不是很喜欢,但是相信多用十几次就会感觉很swift(飞一般的感觉)

第三个:远程定位到某个文件

使用快捷键:ctrl+shift+n

这个适合你的文件名很长的,但是你只记得2-5字母,并且你会感觉到现在你所在的文件位置距离你的目标文件的位置很远。那么你可以赶快使用这个快捷键,然后输入你记得的内容。

根据经验,你可以在最后输入文件的后缀,比如你有一个VeryLongFamousFilename.xml和VeryLongFamousFilename.go,此时你可以这样输入:vlfxml,这样goland就会把你想要的文件排在最前面,只需要enter一下,就进入了想要的代码世界了。

第四个:在多个停留点来回切换

使用快捷键:ctrl+alt+ left/right

在项目中,你会在很多代码位置停留,就如同一个人在人世间从一个地方去到另一个地方,然后再去到另一个地方。

但是虽然现代科技的速度很快,但是去旅游,去远行人仍然会花费人很多的精力和时间。

在这方面,代码这很快了,使用如上快捷键立马到。

不过这2个快捷键,很容易和系统的快捷键冲突,人都不喜欢冲突的,所以,我寻得一个更快的快捷键

alt+P:表示回到上一个地方,P表示Previous

alt+F:回到下一个地方,F表示Forward。

第五个:快速查看文件的大局观

使用快捷键:alt+7

前面讲的都是如何进入一个文件,去到文件的细节之处;这像是一个爬山的过程,如果不一览众山小的话,眼光的境界就得不到总结和延展。这快捷键给了我们一个像杜甫一样会当凌绝顶,一览众山小的机会。

里面列出了这个文件的结构(权当这个文件的一个传记了吧):就像这个文件的总结单一样,有哪些属性,做了哪些事;就像一个伟人传记,会描述这个人的特点,童年经历等,大局观就像书的目录。

第六个:行为的行为,比行为更强大

前面的技巧,对象都很明确是一个文件。我们按照这些技巧,去执行就可以了。然而有些问题是:我想做一个事情,我找不到对应的地方去做,只能盲目的在一堆似是而非的选择中去尝试。

action是goland的一个强大概念,goland里面具有很多的action,从它的Setting里面就可以看出。

但是今天讲的就不是让你在Setting里面不停的点击。我们可以像搜索文件一样搜索action。

快捷键:不好意思,这个没有默认的快捷键!(说错了,快捷键是ctrl+shift+a,但是这个容易和截图快捷键冲突)

但是gland不会让你失望的。我们可以结合前面搜索文件夹快捷键ctrl+shift+n,然后按2次alt+right,可以专门来搜索action;

其实你也可以直接2次shift,然后输入action的名字就好了。(这是最快的方式了,所以建议忘记ctrl+shift+a)

这样搜索action的优势很明显,如果这个action在Setting里面的层次藏的很深,这个时候,我们一层层进去很费时间的。使用一步到位的体验就很丝滑。

有波澜的搜索action

例子:选择颜色主题:输入color,然后按enter,会弹出一个小框给你选择。

以上就是提高golang源码阅读效率的高级技巧的详细内容,更多关于golang源码阅读技巧的资料请关注脚本之家其它相关文章!

相关文章

  • 手把手教你用VS code快速搭建一个Golang项目

    手把手教你用VS code快速搭建一个Golang项目

    Go语言是采用UTF8编码的,理论上使用任何文本编辑器都能做Go语言开发,下面这篇文章主要给大家介绍了关于使用VS code快速搭建一个Golang项目的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • Golang中使用不定数量空格分割字符串的方法

    Golang中使用不定数量空格分割字符串的方法

    有这样一个使用空格分割字符串的场景,字符串中被分割的子串之间的空格数量不确定,有一个两个或者多个空格,这种场景下,使用最容易想到的strings.Split函数就做不到了,本文接下来就介绍几种行之有效的方法,需要的朋友可以参考下
    2023-07-07
  • go语言base64用法实例

    go语言base64用法实例

    这篇文章主要介绍了go语言base64用法,实例分析了Go语言base64编码的实用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • Golang如何自定义logrus日志保存为日志文件

    Golang如何自定义logrus日志保存为日志文件

    这篇文章主要给大家介绍了关于Golang如何自定义logrus日志保存为日志文件的相关资料,logrus是目前Github上star数量最多的日志库,logrus功能强大,性能高效,而且具有高度灵活性,提供了自定义插件的功能,很多开源项目都是用了logrus来记录其日志,需要的朋友可以参考下
    2024-02-02
  • Go语言中的指针运算实例分析

    Go语言中的指针运算实例分析

    这篇文章主要介绍了Go语言中的指针运算技巧,实例分析了Go语言指针运算的实现方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • golang 接口嵌套实现复用的操作

    golang 接口嵌套实现复用的操作

    这篇文章主要介绍了golang 接口嵌套实现复用的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • 解决go build不去vendor下查找包的问题

    解决go build不去vendor下查找包的问题

    这篇文章主要介绍了解决go build不去vendor下查找包的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Go关键字defer的使用和底层实现

    Go关键字defer的使用和底层实现

    defer是Go语言的关键字,一般用于资源的释放和异常的捕捉,defer语句后将其后面跟随的语句进行延迟处理,就是说在函数执行完毕后再执行调用,也就是return的ret指令之前,本文给大家介绍了Go关键字defer的使用和底层实现,需要的朋友可以参考下
    2023-11-11
  • golang开启mod后import报红的简单解决方案

    golang开启mod后import报红的简单解决方案

    这篇文章主要给大家介绍了关于golang开启mod后import报红的简单解决方案,文中通过图文将解决的办法介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-01-01
  • Go语言实现彩色输出示例详解

    Go语言实现彩色输出示例详解

    这篇文章主要为大家介绍了Go语言实现彩色输出示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09

最新评论