专栏首页YP小站提高阅读代码效率神器 Sourcetrail

提高阅读代码效率神器 Sourcetrail

Sourcetrail 简介

Sourcetrail 是一个免费的开放源代码跨平台资源浏览器,可帮助您提高不熟悉源代码的工作效率。

Sourcetrail 比其它开发工具优势

软件开发人员将大部分时间花在弄清楚现有源代码上,但是通用的代码编辑工具对此任务几乎没有帮助。调试器仅允许详细检查一条狭窄的代码路径。“查找所有引用”可帮助您在文件之间导航,但不能提供上下文以查看所有相关依赖项的概况Sourcetrail通过将交互式依赖关系图简洁的代码视图高效的代码搜索结合在一起,提供了概述和详细信息,所有这些都优于其它开发工具。它支持您探索遗留代码,理解实现并重构软件体系结构。

Sourcetrail 支持的IDE

Atom,Clion,Eclipse,Emacs,IntelliJ IDEA,Neovim,PyCharm,QtCreator,Sublime Text,Vim,Visual Studio,Visual Studio Code

Sourcetrail 支持的语言

  • C
  • C ++
  • Java
  • Python
  • custom

为什么选择 Sourcetrail ?(以下来源于官网)

  • 软件开发的现实 作为软件工程师,我们知道我们拥有实现所有想法的技能和能力。但是有时候,这比我们预期的要困难。专业软件开发通常是团队的努力。团队合作使我们能够解决更棘手的问题,但这是有代价的。当代码库增长时,跟踪每个添加的代码变得越来越复杂。因此,花更多的精力在研究当前的实现上,而花在编写新功能上的花费却更少。新开发人员通常必须花费数天甚至数周的时间来浏览旧版代码,以使他们自己熟悉实施,然后才能真正投入生产。
  • 编程语言不是问题 编程语言在不断发展。通过消除越来越多的计算机限制,它们减少了软件开发人员需要记住的开销。但是,不管使用哪种语言,如果一个项目达到一定规模,就很难保持源代码结构的一致思维模型。这里的问题不是语言的抽象性差,而是代码的信息密度高。源代码中的每一行都有其用途,作为软件开发人员,我们将花费大部分时间搜索当前相关的小片段。为什么不退后一步,看看组件之间是如何连接的,而又不经常查看代码的每个细节?
  • 我们已经有足够的代码编辑器 在编写代码时,我们有多种选择可以适应我们想要的任何工作流程。更难解决的是我们如何有效地理解现有的实现。尽管那里有许多出色的代码编辑器,但是它们是为编写代码而设计的,并不是为浏览手边的实现而设计的。当然,每个开发人员都有自己的策略,可以从源代码中查找信息,从搜索文档到查看测试,或在可用时询问原始作者。但是,当您用尽所有这些选项时,不可避免地要遍历代码。让我们面对现实吧-深入挖掘是大多数程序员宁愿避免的事情。
  • 电脑知道这一切! 了解您的软件体系结构的基础并不难。显而易见,了解功能中涉及哪些对象以及功能通过源文件所经过的路径。关于这一切的有趣的事情?您的计算机知道这一切。通过使用编译器或解释器,您的计算机已经知道该语言的工作方式。它知道存在哪些范例,因为它将源代码转换为可执行指令。它知道整个代码库中的每条信息,包括:调用函数的位置,如何实例化类型,更改变量的位置。到目前为止,对于我们的开发人员而言,访问此信息很麻烦,但是使用Sourcetrail可以轻松实现。
  • 认识Sourcetrail,交互式源代码浏览器! 我们希望您遇到Sourcetrail,这是一种轻量级的代码可视化工具,专门用于在源代码中进行快速而全面的导航。Sourcetrail利用软件可视化来动态生成任何选定类型,函数,变量等的交互式代码映射,并显示其与其余代码库的所有依存关系。但是仅凭花哨的代码可视化效果或类图并不能使您真正了解任何源代码。这就是Sourcetrail在可视化效果旁边还显示相关代码段的原因。最后,该软件包由强大的代码搜索算法完成,可让您尽快入门。Sourcetrail缩短了阅读源代码所花费的时间,并使您有更多时间花在您作为软件开发人员实际喜欢做的事情上。立即开始使用Sourcetrail!

Sourcetrail 项目地址

  • https://github.com/CoatiSoftware/Sourcetrail

参考链接

  • https://www.sourcetrail.com/
  • https://github.com/CoatiSoftware/Sourcetrail

欢迎大家关注交流,定期分享自动化运维、DevOps、Kubernetes、Service Mesh和Cloud Native

本文分享自微信公众号 - YP小站(ypxiaozhan),作者:YP小站

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Metrics Server 部署

    从Kubernetes 1.8开始,资源使用指标(如容器 CPU 和内存使用率)通过Metrics API在 Kubernetes 中获取, Metrics S...

    YP小站
  • Kubernetes v1.15.3 升级到 v1.18.5 心得

    Kubernetes 容器节点漏洞 (CVE-2020-8558) 绕过本地主机边界通告。

    YP小站
  • 浅谈 K8S QoS(服务质量等级)

    QoS(Quality of Service),大部分译为 “服务质量等级”,又译作 “服务质量保证”,是作用在 Pod 上的一个配置,当 Kubernetes...

    YP小站
  • 蓝湖-设计协作平台

    ProsperLee
  • JavaScript 编程精解 中文第三版 八、Bug 和错误

    ApacheCN_飞龙
  • 自动删除旧代码?Uber 开源利器「食人鱼」

    场景描述:开发人员必须要面对的一个问题,就是要处理在不断完善中积累的过时代码,近日 Uber 开源了一个自动删除旧代码的工具,它可以寻找代码库中废弃的功能标志模...

    HyperAI超神经
  • 停下来,歇口气,造轮子

    上周四至今,我大概有 50-70% 的时间在造一个轮子,一个叫 merlin 的工具。 事情的起源是这样的 —— 我们内部的一个重要服务,要升级到 elixir...

    tyrchen
  • 谈谈我对数据同步的理解

    1. 在浏览器输入网址, 浏览器通过HTTP协议请求服务器加载数据,服务器在收到HTTP请求之后,从数据库加载相应的数据(有可能是HTML,JS等一些用于浏览器...

    重归混沌
  • R语言数据分析与挖掘(第六章):主成分分析(1)——主成分分析概论

    在许多领域的研究与应用中,往往需要对反映事物的多个变量进行大量的观测,收集大量数据以便进行分析寻找规律。多变量大样本无疑会为研究和应用提供了丰富的信息,但也在一...

    DoubleHelix
  • 机器学习入门 7-4 求数据的前n个主成分

    前几个小节我们将二维样本映射到一个轴上,使得映射后的样本在这个轴上的方差最大,通过公式推导将求方差最大转换为最优化问题,进而使用基于搜索策略的梯度上升法来求解。...

    触摸壹缕阳光

扫码关注云+社区

领取腾讯云代金券