我们有一个开发人员习惯在我们的存储库中的src/java文件夹下的java包中提交非java文件(xsd,dtd等).不可否认,这些是该软件包的相关文件,但我只是讨厌在src文件夹中看到非java文件.
这是我应该习惯的常见做法,还是通过维护这些文件来做一些奇怪的事情?
nas*_*ash 12
将与代码紧密相关的非Java(或其他语言)文件放在与代码不同的位置的问题是知道在哪里找到它们.可以标准化地点然后理论上每个人都知道去哪里和做什么.但我发现在实践中并没有发生.
想象一下,你的应用程序仍然需要在未来5年或10年内维持一个初级中级开发人员团队,他们现在不在公司工作,现在永远不会与任何从事项目工作的人交谈.在源包结构中放置与源紧密相关的文件可以使他们的生活更轻松.
我是在合理的范围内消除尽可能多的含糊不清的主要支持者.
这是非常普遍的,甚至是推荐的,只要它合理.一般来说,当它是静态资源(专有格式的DTD + XSLT,预制脚本等)时,它是合理的,但是当文件可能被第三方(如IP /地理位置数据库转储)更新时,它就不合适了.
我认为如果你认为'src'不具体意味着'源代码'会变得更容易.你可以把它作为源是在编译时和/或运行您的程序所需的实现资源.
作为编译或构建活动的产品的东西不应该在这里.
不可否认,像大多数事情一样,例外可能适用:)
更新:就 个人而言,我喜欢进一步细分src下面的每个资源类型的子目录.其他人可能会喜欢更高层次的分工.