Answers:
存在编码标准以提高团队的生产力。从理论上讲,它们使代码更易于理解,更改和测试。在实践中,它们可能会创建大量的元工作。团队不断地重写现有代码,以寻求最正确,最优雅的解决方案。不幸的是,在每个人都参与,充满激情并且热衷于做正确的事情的团队中,元工作问题似乎更加严重。
作为一个从一个项目转移到另一个项目的顾问,我发现具有严格的编码标准的优秀学科对项目成功的贡献远不如对结果感兴趣的优秀开发人员。不一致的编码样式对出色的开发人员来说是一个很小的麻烦。无论有无一致性,它们都能高效地工作。当然,如果他们遇到不一致的代码,他们会询问当前标准并坚持下去。但是,他们不会坚持将项目中的每一行代码都更新为当前标准。他们不坚持,因为他们已经看到了最佳实践的来龙去脉。今天正确的做事方式与明天正确的做事方式不同。如果是这样,您的编码标准就不会发展。因此,如果做某事的正确方法随时间而改变,那么我们对“正确”的定义可能会被打破。
这并不是说标准无关紧要。请记住,标准的目标是生产力。如果您不能保证重写新标准可以长期收回成本,那么请不要在上面浪费时间。在新的或重构的代码中证明新标准的合理性要容易得多。优雅很酷,但与结果不同。
首先,我不会在(必须的)编码指南中包括这样的“最佳实践”。他们可能在附录中被提及,例如,作为一个例子,你如何可以做一些事情,但不是它应该做的方式。
也就是说,有两种情况需要考虑更改编码标准:
这实际上取决于您要创建的产品类型:
就个人而言,我会选择保留旧代码,并从新做起就遵循新标准。更具体地说,我不会在old.c中使用双重标准。但是,如果要创建new.c,它可以使用更新的精炼语法:)