提高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源码阅读技巧的资料请关注脚本之家其它相关文章!

相关文章

  • GoLang切片并发安全解决方案详解

    GoLang切片并发安全解决方案详解

    这篇文章主要介绍了GoLang切片并发安全问题的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-10-10
  • go goquery网页解析实现示例

    go goquery网页解析实现示例

    这篇文章主要为大家介绍了go goquery网页解析实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • 深入探讨Golang中如何进行并发发送HTTP请求

    深入探讨Golang中如何进行并发发送HTTP请求

    在 Golang 领域,并发发送 HTTP 请求是优化 Web 应用程序的一项重要技能,本文探讨了实现此目的的各种方法,文中的示例代码讲解详细,希望对大家有所帮助
    2024-01-01
  • Go语言sync.Pool对象池使用场景基本示例

    Go语言sync.Pool对象池使用场景基本示例

    这篇文章主要为大家介绍了Go语言sync.Pool对象池使用场景的基本示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • golang容易导致内存泄漏的6种情况汇总

    golang容易导致内存泄漏的6种情况汇总

    内存泄漏是我们在生产环境中必须面临的问题,下面这篇文章主要给大家介绍了关于golang容易导致内存泄漏的6种情况,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • GO语言函数(func)的声明与使用详解

    GO语言函数(func)的声明与使用详解

    这篇文章主要介绍了GO函数(func)的声明与使用,包括了GO语言函数声明与使用,GO语言递归函数,GO语言内置函数,GO语言函数defer应用,GO语言函数可变长度参数需要的朋友可以参考下
    2022-12-12
  • go单体日志采集zincsearch方案实现

    go单体日志采集zincsearch方案实现

    这篇文章主要为大家介绍了go单体日志采集zincsearch方案实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Golang 中的 条件变量(sync.Cond)详解

    Golang 中的 条件变量(sync.Cond)详解

    这篇文章主要介绍了Golang 中的 条件变量(sync.Cond)详解的相关资料,需要的朋友可以参考下
    2022-12-12
  • golang类型转换之interface转字符串string简单示例

    golang类型转换之interface转字符串string简单示例

    在我们使用Golang进行开发过程中,总是绕不开对字符或字符串的处理,这篇文章主要给大家介绍了关于golang类型转换之interface转字符串string的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • golang类型转换组件Cast的使用详解

    golang类型转换组件Cast的使用详解

    这篇文章主要介绍了golang类型转换组件Cast的使用详解,帮助大家更好的理解和学习使用golang,感兴趣的朋友可以了解下
    2021-02-02

最新评论