我认为最好发布您的开发人员实际测试过的软件版本;因此,我倾向于从项目/makefile 中删除“调试”目标,以便只有一个版本可以构建(并测试、调试和发布)。
出于类似的原因,我不使用“断言”(另请参阅断言总是不好的吗? ...)。
那里的一个人争辩说,“调试”版本的原因是它更容易调试:但是,我反驳说,您最终可能希望支持和调试您发布的任何内容,因此您需要构建一个发布您可以在必要时进行调试……这可能意味着启用调试符号并禁用某些优化,即使在“发布”版本中也是如此。
有人说“这是个坏主意”;这是我几年前制定的一项政策,被以下因素烧毁:
- 一些开发人员正在测试他们的调试版本而不是发布版本
- 一些开发人员的编写错误,仅在发布版本中出现
- 该公司在测试不充分后发布了发布版本(它是否完全足够?)
- 被要求调试发布版本
从那时起,我看到不止一个其他开发商店遵循这种做法(即没有单独的调试和发布版本)。
你的政策是什么?