编程绕不开的一个话题:耦合
耦合其实是个中性词,代码模块之间要相互协作完成任务,就必定要耦合。耦合即:一方对另一方的假设。你不可能对协作的对象不做任何假设,所以其实有些耦合是必须的。我们要解决的是非必要的,不良的耦合。
如无必要,不要使代码耦合,过度耦合会加速代码腐烂(比如:难加新功能,难修 bug)
对另一方做尽可能少的假设其实只是手段之一,而且这种手段势必会让代码变得更加抽象复杂。另一种手段就是:制定标准和建立知识库,大家用共同的标准和共有的知识去沟通,就会非常顺畅,反之则寸步难行。所以当你觉得你们的项目程序写得稀烂,先不要关注过度耦合的问题,先看看是不是连标准都没制定,公共知识库都没有建立,人员不知道不遵守既定标准和知识。