为什么平面文本文件是表示源代码的最先进技术?
当然——预处理器和编译器需要查看文件的平面文件表示,但这很容易创建。
在我看来,某种形式的 XML 或二进制数据可能代表了很多很难跟踪的想法,否则。
例如,您可以将 UML 图直接嵌入到您的代码中。它们可以半自动生成,并由开发人员注释以突出设计的重要方面。特别是交互图。哎呀,嵌入任何用户绘图可能会使事情更清楚。
另一个想法是将来自代码审查的评论直接嵌入到代码中。
可能有各种帮助可以更轻松地合并多个分支。
我感兴趣的不仅仅是跟踪代码覆盖率,还包括查看自动化测试覆盖的代码部分。困难的部分是跟踪该代码,即使源被修改。例如,将一个函数从一个文件移动到另一个文件,等等。这可以通过 GUID 来完成,但是将它们直接嵌入到文本文件中会比较麻烦。在丰富的文件格式中,它们可以是自动且不引人注目的。
那么为什么没有 IDE(据我所知,无论如何)允许您以这种方式处理代码?
编辑: 2009 年 10 月 7 日。
你们中的大多数人都非常关注我的问题中的“二进制”这个词。我收回它。图片 XML,非常少地标记您的代码。在你将它交给你的普通预处理器或编译器之前的那一刻,你去掉了所有的 XML 标记,只传递了源代码。在这种形式下,您仍然可以对文件执行所有常规操作:差异、合并、编辑、在简单且最小的编辑器中使用,将它们提供给数千个工具。是的,直接使用最少的 XML 标记进行差异、合并和编辑确实有点复杂。但我认为价值可能是巨大的。
如果存在尊重所有 XML 的 IDE,那么您可以添加比我们今天所能做的更多的东西。
例如,您的 DOxygen 评论实际上可能看起来像最终的 DOxygen 输出。
当有人想要进行代码审查时,比如 Code Collaborator,他们可以在适当的位置标记源代码。
XML 甚至可以隐藏在注释后面。
// <comment author="mcruikshank" date="2009-10-07">
// Please refactor to Delegate.
// </comment>
然后如果你想使用 vi 或 emacs,你可以跳过评论。
如果我想使用最先进的编辑器,我可以通过十几种不同的有用方式看到这一点。
所以,这是我的粗略想法。这不是你在屏幕上拖动图片的“积木”......我没那么疯狂。:)