【发布时间】:2013-01-28 08:51:21
【问题描述】:
我看到在 Github 上发布的许多项目都有一个 .gitignore 文件,其中明确排除了与 IDE 相关的控制文件。这些控制文件广泛用于定义项目及其依赖项。这些可以是 .NET 的 .sln 或 Eclipse 的 .project。
考虑到我同意实现 IDE 中立性(不要将开发人员绑定到特定 IDE)是一个很好的原则,我想问一下为什么这种做法被广泛应用或被认为是一种好的做法。
相反,这些控制文件通常在多个配置中指示项目依赖项、配置或编译变量(例如 .csproj 文件就是这种情况)。
我见过大量忽略 Eclipse 文件的开源项目,但是到目前为止,我无法在没有项目文件的情况下建立开发环境(即使我从现有代码创建项目,或者创建一个新项目和导入代码,我总是得到大量的编译错误)。
如果项目文件存在于存储库中,那么通过“下载代码、导入项目并编译源代码”来设置开发环境将非常简单,但它显然会将开发人员绑定到特定的 IDE(这就是不好笑)。
标准化或迁移项目文件不在问题范围内。
那么,从外部贡献者的角度来看,如何为他从 Github 下载源代码的项目构建一个工作和编译项目环境? (克隆所有子模块后,如果需要)
随便挑一个我想导入Eclipse的示例项目,分析一下,稍作修改,here就是。
【问题讨论】: