一般做法是编写简单或可扩展的代码。一般来说,当我们为企业应用程序构建功能时,我们倾向于编写更具可扩展性的代码,并考虑到它将来可以重用或易于修改。 虽然未来的要求并不具体。
我们是否应该专注于编写简单的代码来满足当前的需求并提供更快的上市时间?或者我们应该花更多的时间来设计更通用和可扩展的东西,并期望它具有可重用性?
现在编码 VS 未来编码
引用:架构很难,设计很简单。
从架构的角度来看:这取决于。
我们是否应该专注于编写简单的代码来满足当前的需求并加快上市时间?
速度:如果您处于竞争异常激烈的市场中,那么也许有理由优先考虑速度而不是质量,只要您了解您很可能会产生技术债务 - 即您会在速度上变慢从长远来看。
简单:要让事情尽可能简单,有很多话要说——即使你的目标不是速度。 简单性通常(但并非总是)转化为速度 - 复杂性降低意味着更改(并测试它们)更容易,因此速度更快。 所以是的,您应该始终尽可能追求简单。
或者我们应该花更多的时间来设计更通用和可扩展的东西,并期望它具有可重用性?
这取决于您的工作级别:
在代码级别,概率平衡说“不” - 请参阅 YAGNI 原则:https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it
在架构层面更多的是关于系统各部分之间的相互关系,以及如何适当地利用松耦合(定义适当的接口、管理依赖关系等)。
在如何实现良好的代码级重用等方面,如果你不知道内聚与耦合那么我建议你熟悉它们: