Modern development environments handle information about the intent of the programmer: for example, they use abstract syntax trees for providing high-level code manipulation such as refactorings; nevertheless, they do not keep track of this information in a way that would simplify code sharing and change understanding. In most Smalltalk systems, source code modifications are immediately registered in a transaction log often called a ChangeSet. Such mechanism has proven reliability, but it has several limitations. In this paper we analyse such limitations and describe scenarios and requirements for tracking fine-grained code history with a semantic representation. We present Epicea, an early prototype implementation. We want to enrich code sharing with extra information from the IDE, which will help understanding the intention of the changes and let a new generation of tools act in consequence.
翻译:现代发展环境处理关于程序员意图的信息:例如,它们使用抽象的语法树来提供高级代码操作(如再设定因素);然而,它们并不以简化代码共享和改变理解的方式跟踪这些信息。在大多数小型对话系统中,源代码的修改立即在交易日志中登记,通常称为变换系统。这种机制已经证明是可靠的,但有一些局限性。在本文件中,我们分析这些局限性,并用语义代表来描述跟踪精细生成的代码历史的情景和要求。我们介绍Epiea, 早期的原型实施。我们想用IDE的额外信息来丰富代码共享,这将有助于理解变化的意图,让新一代工具产生效果。