童子军规则

几周前,我参加了另一场精彩的PHPBenelux会议。 总是有发言者的主题之一就是有关遗留代码的主题。 这只是我们大多数人必须处理的事情。

那是在最后一个社交晚会上。 我正在与一些优秀的开发人员讨论遗留代码的问题。 其中一位提到童子军规则。 这似乎是一个非常有用的规则。

那些使用遗留代码的人知道,大多数情况下,这些项目可能会带来痛苦。 大多数情况下,它们是建立在错误的期望之上的。 开发人员可能不具备创建体面的代码库所需的业务知识。 或者这是一个又一个的hack。

处理这些类型的项目的最佳方法是从头开始。 不幸的是,这并不总是可行的选择。 出现了童子军规则:

始终将营地的清洁剂留在发现不到的地方。

现在,这是一条规则,我们可以很容易地将其解释为以下代码:

始终在清洁器中检查模块,而不要将其检出。

想象您正在从事此类项目。 您签出代码并进行所需的更改。 接下来,确保测试通过。 文档被写入,您提出了拉取请求。 您不再需要看其余的代码。

但是,如果相反,您又加倍努力呢? 就像添加缺少的文档一样简单。 您可以将变量更改为更易读的内容。 哎呀,您甚至可以进一步将一个长函数拆分为两个较小的函数。 或者为什么不添加缺少的接口。 甚至打破循环依赖。

每增加一英里,每次更改都会改善代码。 随着项目的发展,该项目将越来越好。

这不仅是关于改进代码。 整个项目代码成为团队合作。 就像我经常看到的那样,每个人都不再只是在解决他们的难题了。

而且它不仅适用于遗留代码,还适用于新项目。 总有一些代码需要改进。 有关您应该通过代码传递给团队其他成员的知识。

您会考虑使用“童子军”规则还是已经使用它? 让我知道在评论!