当然 - 预处理器和编译器需要看到文件的平面表示,但这很容易创建。
在我看来,某种形式的XML或二进制数据可以代表很难追踪的许多想法。
例如,您可以将UML图嵌入到您的代码中。它们可以半自动地生成,并由开发人员注释以突出设计的重要方面。特别是交互图。嵌入任何用户绘图都可能使事情更加清晰。
另一个想法是将代码审查的评论嵌入到代码中。
可能会有各种各样的辅助工具,使合并多个分支更容易。
我热衷于不仅跟踪代码覆盖率,还要查看由自动化测试覆盖的代码部分。难点在于即使在源代码被修改的情况下也要跟踪该代码。例如,将函数从一个文件移动到另一个文件等。这可以通过GUID完成,但要直接嵌入文本文件中可能会比较显眼。在富文件格式中,它们可以是自动的和不显眼的。
那么为什么没有(据我所知)允许您以这种方式处理代码的IDE?
编辑:2009年10月7日。
大多数人都对我问题中的“二进制”一词感到困惑。我撤回它。将XML非常简单地标记您的代码。在将其交给您的正常预处理器或编译器的瞬间,您会剥离所有XML标记,并传递源代码。以这种形式,您仍然可以对文件执行所有常规操作:查找差异(diff),合并,编辑,在简单和最小的编辑器中使用,将其馈送到数千个工具中。是的,使用最小的XML标记直接进行差异,合并和编辑确实变得有点复杂。但是我认为价值可能是巨大的。
如果存在尊重所有XML的IDE,则可以添加比我们今天所能做的更多内容。
例如,您的DOxygen注释实际上可以看起来像最终的DOxygen输出。
当某人想要进行类似于Code Collaborator的代码审查时,他们可以直接标记源代码。
XML甚至可以隐藏在注释后面。
// <comment author="mcruikshank" date="2009-10-07">
// Please refactor to Delegate.
// </comment>
如果你想使用vi或emacs,你可以直接跳过注释。
如果我想使用最先进的编辑器,我可以以大约十几种不同有益的方式看到它。
这就是我的大致想法。它不是“图块”形式的,你可以拖动它们到屏幕上...我并不疯狂。 :)