通常,当有人要求摆脱在许多平台上经过广泛测试,良好测试和验证的某些事物时,这是对称为“代码气味”和“技术债务”或“代码的不受控制的积累”的潜在问题的外在表达。债务”。多年来,GNU档案库积累了相当多的代码债务,如果未适当维护代码库,它可能会达到断点(遗留代码,甚至病态的旧代码)。
通常,将每隔一段时间进行一次重新设计和重构的过程,以使其处于受控状态。因此,这里提出的真正问题是是否已经开发了重构版本的coreutils。当然,这包括彻底替换(作为特殊情况)的可能性-就像Wayland被推销给X一样……许多开发人员直接来自X阵营。
我的建议是实际使用并重构coreutils。必须有人做。谁提出了替换coreutils的问题-您的想法就是您的项目。
为此,请充分利用您可以找到的任何自动化功能:重构引擎(例如cscout)或应用更高级的分析/综合方法(例如形式概念格)的任何东西。但是深度分析仍然是活跃研究的一个相对较新的开放领域,并且涉及到人工智能。(机器人软件工程师。)
大多数实用程序应该已经有测试套件,因此可以通过逐步进行逐步更改+自动回归测试步骤来进行验证。可以很快进行(例如,每天10个或更多的修订更新)。如果软件套件中任何地方存在硬件或底层软件依赖性,都会使此过程复杂化。因为这需要在多个平台上进行验证。我不太了解coreutils中的内容。与硬件或底层软件层应该有某种隔离(例如,coreutils知道哪种类型的位置数)所使用的文件系统的数量应该最小或更好,为零。)用于进行多平台测试的仿真器和虚拟机具有局限性。例如,Mac OS X经过专门设计,可以阻止对其进行仿真或VM的能力。