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

相关文章

  • 使用Go和Tesseract实现验证码识别的流程步骤

    使用Go和Tesseract实现验证码识别的流程步骤

    验证码主要用于区分人类用户和机器程序,Tesseract 是一个开源的光学字符识别(OCR)引擎,支持多种语言和字体,并具有较高的识别准确率,它由 Google 维护,并且可以通过多种编程语言调用,本文给大家介绍了使用Go和Tesseract实现验证码识别的流程步骤
    2025-01-01
  • Go语言使用ioutil.ReadAll函数需要注意基本说明

    Go语言使用ioutil.ReadAll函数需要注意基本说明

    这篇文章主要为大家介绍了Go语言使用ioutil.ReadAll函数需要注意基本说明,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Go语言中Once懒加载的艺术详析

    Go语言中Once懒加载的艺术详析

    Go语言以其简洁高效的并发模型赢得了无数开发者的青睐,下面这篇文章主要介绍了Go语言中Once懒加载的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2026-04-04
  • 详解go+gin 入门指南

    详解go+gin 入门指南

    本文主要介绍了go语言环境的安装和gin框架的简单使用,就像java的hello world一样,简单入门,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-02-02
  • golang中的string与其他格式数据的转换方法详解

    golang中的string与其他格式数据的转换方法详解

    这篇文章主要介绍了golang中的string与其他格式数据的转换方法,文章通过代码示例介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-10-10
  • Golang连接Redis数据库的方法

    Golang连接Redis数据库的方法

    这篇文章主要介绍了Golang连接Redis数据库的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • mcp-go Go搭建MCP服务的实现示例

    mcp-go Go搭建MCP服务的实现示例

    本文主要介绍了mcp-go Go搭建MCP服务的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-05-05
  • Go并发编程sync.Cond的具体使用

    Go并发编程sync.Cond的具体使用

    Go 标准库提供 Cond 原语的目的是,为等待 / 通知场景下的并发问题提供支持,本文主要介绍了Go并发编程sync.Cond的具体使用,具有一定的参考价值,感兴趣的可以了解一下
    2022-05-05
  • 优雅管理Go Project生命周期

    优雅管理Go Project生命周期

    这篇文章主要为大家介绍了如何优雅的管理Go Project生命周期,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • go语言之给定英语文章统计单词数量(go语言小练习)

    go语言之给定英语文章统计单词数量(go语言小练习)

    这篇文章给大家分享go语言小练习给定英语文章统计单词数量,实现思路大概是利用go语言的map类型,以每个单词作为关键字存储数量信息,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2020-01-01

最新评论