0

我有一些受版本控制的共享项目(具体来说是 svn 和 bazaar,但我正在寻找一个通用的解决方案),但是项目使用的数据集不是(太大并且由不同的项目共享)。

在源代码中,我需要在某处“存储”数据集的路径。每个用户的路径可能不同,所以硬编码绝对是一个坏主意(我想一如既往)。

我的实际解决方法是对存储实际路径的文本文件(例如“dataPath.txt”)进行硬编码,并且该文件不受版本控制(每个项目贡献者使用他的自定义信息创建自己的文件)。然而,解决方案非常脆弱:1)如果某些贡献者添加到版本控制文件,这很烦人 2)当我导出“可执行文件”时,我需要移动应该在同一个目录中的文件(相对路径)。

在我的具体情况下,我使用的是 Java,所以我发现这个问题很相关(即使我从未使用过属性),但我想知道是否有更通用的技术可以在不同的编程语言中重用。

4

1 回答 1

0

编写程序,使其接受数据集的路径作为命令行参数。如果未指定数据集文件,请确保有 a) 合理的默认值,或 b) 如果未提供数据集文件,则程序正常退出。无需在源中硬编码数据集路径。然后你会像这样调用程序(当然你可以使用你喜欢的任何其他命令行选项字符:-)):

prog -d dataPath.txt

一般来说,在配置文件中提供这样的设置是个好主意。使用 Java,属性帮助(如您链接的 SO 问题中所指出的)。在其他语言中,我可能会使用 JSON 格式的设置文件——可以使用解析库。

于 2014-06-08T08:30:43.387 回答