当我看到敲打几个字符的代码高尔夫球条目,使代码变淡时,我去查看并排差异的编辑历史记录。观看和学习:)
面临的挑战是制作一个能够产生最漂亮的动画差异的程序。
- 输入将是任何有序的文本版本系列。
- 该程序可以用任何编程语言编写。
- 允许程序将自身限制为以某些特定的编程语言输入数据。
- 程序不应该调整到特定的输入数据;该程序应该是通用的,并且可以用于任何有序的文本版本系列。
- 对于输入中的每个版本,输出动画中必须有相应的时间显示版本的全文。您必须为版本阶段之间的差异设置动画,并且所有版本阶段都必须存在并在输出中按顺序排列。在这些关键帧上,必须显示版本大小,并且查看者应该理解这是他们当时看到的完整版本。
- 该程序可能不使用任何第三方代码来计算差异。
- 语法突出显示输出是可选的。如果程序为语法着色,则它可能不使用任何第三方代码来这样做。
- 输出将是动画GIF。
- 该程序可能使用第三方库来创作GIF。
- 这是一次人气竞赛,因此,按照此站点上的人气竞赛的定义,投票最多的条目将获胜。
这是一个简单的示例脚本,该脚本使用Python的ndiff和Pillow的基本动画GIF支持,并对每个添加和删除步骤进行动画处理:
我个人认为这是一项非常糟糕的工作。它不执行语法高亮显示,不尝试移动重新排列的代码块,不觉得有人正在现场编辑它,依此类推。它还打破了关于在关键帧上显示输入大小(以字节为单位)的规则,并且使用第三方库进行区分。有很大的改进空间!
希望这些受欢迎的条目也将成为codegolf.stackexchange.com社区有用的有趣工具。因此,如果程序易于他人使用和使用,将非常感激。