JAXenter:随着代码库的增长,跟踪每个添加的代码变得越来越复杂。 开发人员如何加速自己熟悉代码库的过程?
EberhardGräther:在新的代码库上工作类似于在迁移到新城市。 您最初不知道要买些食物的街道和好地方的名称,但是随着您在其中花费更多的时间,便开始有所了解。 对于城市而言,使用在线导航系统变得更加容易。 您只需输入某个地方的名称,您将被带到那里。
对于一个代码库来说,到目前为止还不是那么容易。 您必须询问其他开发人员或四处看看,直到最终以某种方式实现了期望的目标。 Sourcetrail就像软件开发人员的导航系统。 它分析整个代码库,了解所有位置,并以可视方式向您展示一切之间的联系。
JAXenter:具有高信息密度的代码的最大缺点是什么? 开发人员如何区分无意义和有意义的细节?
在一个新的代码库上工作在某种程度上类似于迁移到新城市。
EberhardGräther:现代编程语言具有很高的信息密度,这意味着您可以在几行代码中表达很多逻辑。 如果这等于一个包含数百万行代码的代码库,那么您将无法再看到所有树的森林。 代码库中的每一行都很重要,但是,如果您要查找特定的内容,则需要阅读许多当前不关心的行。
因此,不仅每条线的内容很重要,而且这些线的连接方式也很重要。 Sourcetrail采用代码库的结构,并使用可视化方式以更快,更容易为人脑处理的方式呈现信息。 这样一来,您在查找信息时不需要阅读太多的代码行,您就可以更快地到达有意义的行。
还请参见: 并发,函数式编程,拼图:Java是否适合未来?
JAXenter:是否需要另一个代码编辑器,还是应该找到一种更好的方式来挖掘代码?
EberhardGräther:已经有很多代码编辑器,他们在为开发人员提供高效的代码编写功能方面做得非常出色。 但是,由于这些编辑器及其用户界面主要集中在写作部分,因此源代码导航功能始终是次要的。 这使得阅读和浏览源代码的任务比原本应该的困难。
Sourcetrail的用户界面专注于源代码导航,因此查看您的代码库非常简单直观。 例如,在代码编辑器中,左键用于设置光标,但是由于Sourcetrail不允许进行编辑,因此我们可以使用它来激活鼠标指针下的元素。 这样,Sourcetrail感觉更像是一个Web浏览器,但是需要代码。
JAXenter:什么是Sourcetrail?如何计划使Java开发人员的生活更轻松?
EberhardGräther: Sourcetrail是用于源代码导航和理解的开发人员工具。 它旨在节省开发人员在处理不熟悉的源代码时的时间。 当新员工加入团队时,或者开发人员必须修改同事或几年前编写的代码时,通常就是这种情况。
在这些情况下,在实际更改代码之前,要花很多时间来了解代码。 大多数开发人员只是将其视为工作的不愉快部分。 我们在专业承运人中也遇到过这些情况,但是我们决定研究一下并提出更好的解决方案。
JAXenter:它是如何工作的?
Sourcetrail的感觉更像是Web浏览器,只是代码。
EberhardGräther: Sourcetrail是在计算机上运行的脱机应用程序。 它获取所有源文件,并检索有关存在哪些类,方法和变量以及它们之间的关系的信息。 然后,它允许您通过快速搜索功能和所选元素的可视图形表示轻松访问所有这些信息。
但是我们也知道,如果不实际查看代码,您将无法理解代码。 因此,我们还显示了一个代码窗口,其中列出了所选元素在代码中出现的所有位置。 所有这些共同构成了一个开发人员工具,非常适合阅读和理解源代码。
还请参见: Java中的微服务:是还是不是?
JAXenter:Sourcetrail 2018.1版本中有哪些新功能?
EberhardGräther:我们不断从当前用户那里收集反馈,例如关于新功能,现有问题和不受支持的用例的反馈。 在我们的最新版本Sourcetrail 2018.1中,我们主要集中于提供用户反馈以改进现有功能并解决已知问题。 我们还改善了用户界面的外观,以确保在所有受支持的平台(Windows,macOS和Linux; 每个季度都会发布一个新的主要版本。
JAXenter:Sourcetrail的下一步是什么?
EberhardGräther:借助对C,C ++和Java编程语言的支持,我们已经可以在软件行业中占很大一部分。 但是存在更多的编程语言,其他语言的开发人员经常向我们提出要求。 因此,增加对语言的支持对我们来说是今年的一大主题。 我们希望找到一个在阅读和理解代码时Sourcetrail可以为每个软件开发人员提供支持的地方。
谢谢!
翻译自: https://jaxenter.com/sourcetrail-java-developers-interview-grather-142050.html