【发布时间】:2011-07-06 22:16:12
【问题描述】:
我编写科学研究代码,特别是在生物信息学方面。当然,在科学中,结果应该是可重复的。不定期参与项目并且不详细了解基础架构的人可能会合法地希望查看我的代码以重现结果。问题是使代码自包含足以轻松地向这样的人提供/解释似乎严重限制了可能的重用量。
将多个相关项目中使用的功能分解到个人库中通常很方便,但将所述库与 5,000 行(诚然文档不足,因为它不打算用于生产/发布)转储并不方便质量)与想要快速重现结果的人手头的问题无关的代码。
在您的系统上安装一组几个关键库并且无需三思而后即可使用通常很方便,但向主要是科学家而非程序员的人解释您的设置方式并不方便所有这些东西。如果您自己不记得某些细节,则尤其如此。 (请注意,尽管所讨论的细节是与科学无关的技术细节。)
将研究项目的多个相关方面的所有代码保存在一个具有大量选项的大程序中通常很方便,而不是为您尝试的每个细微变化/事物编写完全独立的代码,但同样,将所有这些都转储给只想重现结果的人并不方便。
有哪些方法可以处理这些问题,以便我可以重用代码,但仍允许想要重现我的结果的人通过合理的努力来启动和运行我的代码?请注意,我的问题的核心是创建可重用代码库的可能性,但还不是很成熟。
【问题讨论】:
-
我喜欢这个……计算机科学中的经典问题……像艺术一样的主观部分。
标签: libraries scientific-computing readability maintenance