Coding style 一致性与设计指南

Coding style 一致性与设计指南,coding-style,Coding Style,假设您参与了一个大型项目的开发,该项目已经开发了很长一段时间(超过一年)。这些项目遵循一些当前的设计准则,但也有一些不同的,目前不鼓励的(主要是命名准则) 假设您不能/不允许更改整个项目: 更重要的是,一致性,遵循现有的指导方针,无视当前的指导方针或指导方针的使用,在同一项目的模块之间产生差异 谢谢。一如既往,视情况而定 如果这是一个你将长期从事的项目,那么进行更改或引入改进以实现一致性是值得的。对于寿命较短的项目,我不会费心 通常,这个问题最好问那些发明指南的人——在指南中可以注意到“现有的应

假设您参与了一个大型项目的开发,该项目已经开发了很长一段时间(超过一年)。这些项目遵循一些当前的设计准则,但也有一些不同的,目前不鼓励的(主要是命名准则)

假设您不能/不允许更改整个项目:

更重要的是,一致性,遵循现有的指导方针,无视当前的指导方针或指导方针的使用,在同一项目的模块之间产生差异

谢谢。

一如既往,视情况而定

如果这是一个你将长期从事的项目,那么进行更改或引入改进以实现一致性是值得的。对于寿命较短的项目,我不会费心


通常,这个问题最好问那些发明指南的人——在指南中可以注意到“现有的应用程序都是外传的,但新的模块至少必须遵循……”之类的

坚持一整天。(除非每件事都一直很糟糕,否则我会找到一个新项目!)

一般来说,我会倾向于一致性。但有时有强烈的理由选择进化风格。也许最初的标准是无效的,或者只是强加了太大的开销。回到过去改进这些变化可能有些过分,但继续以一致性的名义遵循现在已知的错误做法,我认为这是一个错误的决定


一个具体的例子:30人,为期三年的项目。我们的标准是在每个方法之前放一些特定的文档(不记得细节,认为它是一个可以记录的消息列表或诸如此类的东西)。这是一个需要维护的大量工作,而且从未使用过,因为我们有一个代码管理器来生成消息来源的最终列表。我们只是停止了向新方法添加信息,没有时间去获取和整理代码库的完整性。

我更倾向于在项目中保持一致性,但如果可能的话,说服“高层”重构将是最小的(如果它真的只是命名约定的话)并且会使可维护性更容易,因为该计划将与过去/未来的其他项目保持一致。

假设您不能/不允许更改整个项目:


坚持一致性,但如果你的团队和管理层愿意接受建议,一定要与他们讨论这一点,因为适当的对话会为你即将进行的项目增加很多内容

这是一个很好的问题,也是一个很难处理的问题

我看过一个项目,几个技术领先者相互跟进,每个人都为开发的新功能带来了自己的体系结构和编码指南,但保持了现有代码的完整性。 这导致了一个混乱、完全不同的代码库,其中每个模块都不同于其他模块,这使得整个过程很难理解

如果您可以根据新的指导原则重构现有代码(如果团队的其他成员都同意),那么您绝对应该这样做


否则,只需坚持当前的编码实践,只要它们不会产生将来无法控制的技术债务。

看起来类似于@ROMANARMY,感谢我现在研究了这个问题,有一些细微的区别。