避免“多行几行”综合症。
作文可以节省您的时间。
我再也不能强调这个了。
在花了很多年时间开发不同规模的系统之后,这个原则对我一直适用。
组合是您作为软件开发人员所拥有的基本工具之一,可以应对代码库中不断变化的日常挑战(感谢产品经理)。
我经常听到这样的论点,即使用组合会带来不必要的更多代码。
仅需要几行就可以完成这项工作。 总体结果仍然可读。
但是要持续多久?
那么,您要在课堂上添加“仅几行”的“单一责任原则”呢?
它的可测试性如何?
如何保持灵活性以适应将来的需求并控制代码库的发展?
您会不会很舒服地看着PM的脸说“拜托,给我更多的要求”?
如果您只考虑现在,就不要改变。
如果您不从事专业工作,那就不会。
如果您不使用合成并且违反SOLID原则,则不会。
我举一个例子。
这是您当前的接口和内存中消息发布者的实现:
现在您的项目经理来告诉团队:
- “我们需要插入一个Kafka集群,在其中插入当前我们正在内存中发布的所有消息”
- “我们仍然需要继续在内存发布器中发布这些消息”
您可以在这里选择。
第一种可能性是添加“仅多几行”:
告诉我,您可以轻松地测试这堂课吗? 所有情况?
这堂课要做什么? 只有一个或多个?
现在第二种可能性:
测试每个类有多么容易?
这些类每个都在做什么?
如果明天需要添加第三个发布服务器,或更改邮件分发策略,哪种策略将使您更快,更安全?
在不断增长的班级中增加“多几行”还是增加另一个小型,单一责任驱动的班级?
想一想。
From: https://hackernoon.com/the-power-of-composition-cf251e123e69