你如何维护开发代码和生产代码?

150

如何在维护代码时遵循最佳实践和经验法则?将只有生产就绪的代码放在开发分支中是一种良好的实践吗?还是未经测试的最新代码应该在开发分支中可用?

你们如何维护你们的开发代码和生产代码?

编辑 - 补充问题 - 在向开发分支提交代码时,您的开发团队是否遵循“尽快提交并经常提交即使代码包含小错误或不完整”协议或“仅提交完美代码”协议?


我之前回答过一个类似的问题(或者说,同一领域/方向的问题),因此您可能想查看这个问题:[有哪些好的策略可以使部署的应用程序支持热修复?] (https://dev59.com/NUXRa4cB1Zd3GeqPq1VA) - Till
@revo:等一下……我的2008年的回答已经过时了吗? :) 我想确实是这样。已经过去十多年了:我已经编辑了我的回答。 - VonC
12个回答

0
我们有一个“发布”分支,其中包含当前正在生产或即将部署的内容(已经通过了大部分QA)。
每个项目或在某些情况下其他单元都有自己的分支,这些分支是从发布中派生出来的。
开发人员将更改提交到其项目自己的分支中。定期地,发布会合并回开发分支。
一旦分支上的工作包全部完成QA(单元测试、系统测试、代码审查、QA审查等),该分支就会合并到发布分支中。新版本将从发布分支构建,并对该版本进行最终验证。
该过程基本上没有问题,直到在合并完成后发现问题。如果WP在合并后被“卡住”,它会阻塞之后的所有操作,直到它被修复为止(我们不能在卡住的WP未发布之前进行另一个发布)。

它也有一定的灵活性 - 如果在非常短的时间范围内(如1-2天左右)发布,那么非常微小的更改可以直接在发布分支上进行。

如果由于某种原因(例如需要立即更改代码以修复关键客户影响生产问题),更改被直接放到生产环境中,则这些更改将被放回BRANCH_RELEASE。这几乎从不发生。


0

这取决于项目。我们的网页代码经常进行检查,而应用程序代码只有在编译成功后才会进行检查。我注意到这与我们发布事物的方式非常相似。网站内容可以随时上线,而应用程序则必须遵守严格的截止日期。但是,我没有看到任何一种方法会导致质量下降。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接