找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 656|回复: 0

数据科学的版本控制

[复制链接]

2

主题

0

回帖

12

积分

新手上路

积分
12
发表于 2023-11-6 11:43:40 | 显示全部楼层 |阅读模式
本帖最后由 manha123@ 于 2023-11-8 17:35 编辑

跟踪您或您的合作者对数据和软件所做的更改是任何项目的关键部分,无论是研究、数据科学还是软件工程。能够引用或检索整个项目的特定版本有助于您在出版前、回复审稿人评论以及为审稿人、编辑和读者提供支持信息时的可重复性。 跟踪更改的最佳工具是软件开发中使用的版本控制系统,例如 Git、Mercurial 和 Subversion。他们跟踪文件中的更改内容、更改时间和更改者,并将更改同步到中央服务器,以便多个贡献者可以管理对同一组文件的更改。 虽然这些工具使跟踪更改变得更容易,但它们的学习曲线可能很陡峭。为了克服这个学习曲线,有两套建议:用于管理变更和版本控制的系统手动方法,您可以在使用第一个方法的同时努力实现第二个,或者直接跳入版本控制。 版本控制的最佳实践 无论您最终选择什么建议,您最好考虑一些一般最佳实践或建议: (几乎)人类创建的所有东西一创建就备份。这包括各种脚本和程序、您的项目所依赖的软件包以及文档。


下面讨论该规则的一些例外情况。 保持较小的变化。每个更改不应太大,以免使更改跟踪变得无关紧要。例如,Revise script file添加或更改数百行之类的单个更改可能太大,因为它不允许单独研究对分析的不同组件的更改。同样,更改不应分解为太小的部分。根据经验,单次更改的最佳大小是您可以想象在未来某个时刻想要在一个步骤中撤消的一组编辑。 经常分享变化。参与该  加拿大电话号码表 项目的每个人都应该定期分享和合并其他人的更改。不要允许项目存储库的个别调查员版本出现偏差,因为合并差异所需的工作量比差异的大小增长得更快。这对于下面描述的手动版本控制过程尤其重要,该过程不为合并同时发生的、可能冲突的更改提供任何帮助。 创建、维护和使用清单来保存和共享对项目的更改。



该列表应包括编写日志消息,清楚地解释任何更改、单个更改的大小和内容、代码风格指南、更新待办事项列表以及禁止提交半成品或损坏的代码。 将每个项目存储在一个文件夹中,该文件夹是使用 Dropbox 等系统或 GitHub 等远程存储库从研究人员的工作计算机上镜像出来的。至少每天同步该文件夹。这可能需要几分钟,但当笔记本电脑被盗或硬盘出现故障时,这段时间就会得到补偿。 如何进行手动版本控制 第一种建议的方法,其中一切都是手工完成的,有两个额外的部分。 首先,将一个名为CHANGELOG.txt项目的docs子文件夹的文件添加到该项目的子文件夹中,并按时间倒序(即最新的在前)在此文件中记录有关项目更改的日期。该文件相当于实验室笔记本,并且应包含如下所示的条目。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|害决人还还

GMT+8, 2024-4-19 11:07 , Processed in 0.024208 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表