科学家和软件开发人员之间经常存在一种争议:是编写符合”最佳实践”的代码重要,还是快速编写糟糕的科学代码更有效?一位著名的软件工程师 Yossi Kreinin 在他的博客文章中发表了自己独特而又引人入胜的观点,他认为那些被视为糟糕的科学代码实际上胜过遵循”最佳实践”的代码。
在科学领域,时间常常是非常有限的,研究人员需要快速编写代码来探索新领域、处理巨大的数据集和执行复杂的数据分析。这就是为什么糟糕的科学代码总是被视为”祸害”,但 Yossi Kreinin 却提出了一个截然不同的观点。
他指出,符合”最佳实践”的代码通常要求开发人员遵循一系列规则和约定,这些规则有时候可能会限制创新和实验。相比之下,糟糕的科学代码可能在结构上非常混乱,但却给了科学家更多的自由度去探索。
科学家经常需要在一个较短的时间内完成代码编写,他们主要关注的是问题的本质而不是代码的结构和可维护性。他们更关心的是能否得到有意义的结果,而不是代码是否符合最佳实践。在这种情况下,编写糟糕的科学代码可能会更加高效。
此外,糟糕的科学代码的可读性可能并不理想,但正是这种不完美的代码反而促进了合作和知识分享。科学家之间常常需要共享代码和结果,通过理解和修改对方的代码来进一步推进研究。糟糕的科学代码能够促使科学家之间更多的合作和交流,从而加速科学进展。
当然,这并不意味着我们应该放弃”最佳实践”的重要性。良好的代码结构和可维护性是确保长期项目成功和团队之间协作的关键。然而,在科学领域,我们需要更加灵活和适应快速变化的需求。
总而言之,虽然糟糕的科学代码经常被指责,但它们实际上胜过那些过度关注”最佳实践”的代码。糟糕的科学代码为创新和实验提供了更大的自由度,促进了科学家之间的合作和交流。因此,我们应该更加理解和容忍糟糕的科学代码,并在研究和实验中充分发挥它们的优势。
参考链接:https://yosefk.com/blog/why-bad-scientific-code-beats-code-following-best-practices.html
了解更多有趣的事情:https://blog.ds3783.com/