为了账号安全,请及时绑定邮箱和手机立即绑定

我应该将生成的代码存储在源代码管理中吗

我应该将生成的代码存储在源代码管理中吗

动漫人物 2019-10-17 14:50:03
这是我参加的辩论。我想征询更多意见和观点。我们在构建时生成了一些类来处理数据库操作(在这种情况下,使用SubSonic,但我认为这对这个问题不是很重要)。生成设置为Visual Studio中的预构建步骤。因此,每次开发人员(或官方构建过程)运行构建时,都会生成这些类,然后将其编译到项目中。现在有人声称,将这些类保存在源代码管理中可能会造成混乱,以防万一您获得的代码与您自己的环境中生成的代码不匹配。我希望有一种方法可以追溯代码的历史记录,即使通常将其视为黑匣子也是如此。有参数还是反参数?更新:我问了这个问题,因为我真的相信有一个明确的答案。查看所有答复,我可以肯定地说,没有这样的答案。该决定应基于多个参数来做出。阅读以下答案可以为您在决定该问题时应该问自己的问题类型提供很好的指导。由于上述原因,目前我不会选择可接受的答案。
查看完整描述

3 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

将其保存在源代码管理中比其价值更大。

每次进行构建时,都必须进行一次提交才能使其具有任何值。

通常,我们将生成的代码(idl,jaxb的东西等)放在我工作的源代码控制之外,这从来都不是问题


查看完整回答
反对 回复 2019-10-17
?
HUWWW

TA贡献1874条经验 获得超12个赞

每当我想在自己的个人存储库上显示对源树的更改时,所有“生成的文件”都会显示为已更改,需要进行调试。

我希望有一个更干净的修改列表,其中仅包括已执行的实际更新,而不包括自动生成的更改。

保留它们,然后在构建后,在每个生成的文件上添加“忽略”。


查看完整回答
反对 回复 2019-10-17
?
拉丁的传说

TA贡献1789条经验 获得超8个赞

这样看:您是否将目标文件检入源代码管理中?生成的源文件是构建工件,就像目标文件,库和可执行文件一样。它们应该被相同地对待。大多数人认为您不应该将生成的目标文件和可执行文件检入源代码管理中。相同的参数适用于生成的源。

如果您需要查看生成文件的历史版本,可以将其同步到其源的历史版本并进行重建。

将生成的各种文件检查到源代码管理中都类似于数据库非规范化。有偶尔的理由这样做(通常用于性能),但这应该只是非常小心,因为它变得更加困难,一旦数据被规格化,以保持正确性和一致性来完成。


查看完整回答
反对 回复 2019-10-17
  • 3 回答
  • 0 关注
  • 380 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信