提高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环境变量配置,及GOROOT、GOPATH的区别小结

    Go环境变量配置,及GOROOT、GOPATH的区别小结

    本文主要介绍了Go环境变量配置,及GOROOT、GOPATH的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-09-09
  • golang使用mapstructure解析json

    golang使用mapstructure解析json

    mapstructure 是一个 Go 库,用于将通用映射值解码为结构,这篇文章主要来和大家介绍一下golang如何使用mapstructure解析json,需要的可以参考下
    2023-12-12
  • GO中的时间操作总结(time&dateparse)

    GO中的时间操作总结(time&dateparse)

    日常开发过程中,对于时间的操作可谓是无处不在,但是想实现时间自由还是不简单的,多种时间格式容易混淆,本文为大家整理了一下GO中的时间操作,有需要的可以参考下
    2023-09-09
  • 分布式架构在Go语言网站的应用

    分布式架构在Go语言网站的应用

    分布式架构是目前应对高流量、高并发的重要解决方案,分布式架构的核心思想是分而治之,将单台服务器的资源划分为多台服务器进行协同完成,分布式架构应用于Go语言网站中既能提升服务速度,又能降低了服务器宕机的风险
    2024-01-01
  • Go语言Web编程实现Get和Post请求发送与解析的方法详解

    Go语言Web编程实现Get和Post请求发送与解析的方法详解

    这篇文章主要介绍了Go语言Web编程实现Get和Post请求发送与解析的方法,结合实例形式分析了Go语言客户端、服务器端结合实现web数据get、post发送与接收数据的相关操作技巧,需要的朋友可以参考下
    2017-06-06
  • Go标准库日志打印及同时输出到控制台与文件

    Go标准库日志打印及同时输出到控制台与文件

    Go语言内置的log包实现了简单的日志服务,下面这篇文章主要给大家介绍了关于Go标准库日志打印及同时输出到控制台与文件的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • golang生成指定位数的随机数的方法

    golang生成指定位数的随机数的方法

    这篇文章主要介绍了golang生成指定位数的随机数的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Go语言中高效地处理集合的方法小结

    Go语言中高效地处理集合的方法小结

    在 Go 语言中,处理集合(如切片、映射等)时,可以通过多种方式提高效率,本文为大家整理了一些常见的方法,有需要的小伙伴可以了解一下
    2025-02-02
  • go语言中反射机制的三种使用场景

    go语言中反射机制的三种使用场景

    本文主要介绍了go语言中反射机制的三种使用场景,包括JSON解析、ORM框架和接口适配,具有一定的参考价值,感兴趣的可以了解一下
    2025-02-02
  • Go常用技能日志log包创建使用示例

    Go常用技能日志log包创建使用示例

    这篇文章主要为大家介绍了Go常用技能日志log包创建使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08

最新评论