我已经花了很多时间阅读有关“好的设计”,“设计模式”等的不同书籍。我是SOLID方法的忠实拥护者,每当我需要编写简单的代码时,我都会考虑未来。因此,如果要实现新功能或错误修复,只需添加以下三行代码即可:
if(xxx) {
doSomething();
}
这并不意味着我会这样做。如果我觉得这段代码在不久的将来可能会变得更大,那么我会考虑添加抽象,将此功能移到其他地方等等。我追求的目标是保持平均复杂度与更改前相同。
我相信,从代码的角度来看,这是一个好主意-我的代码永远不够长,而且很容易理解不同实体的含义,例如类,方法以及类与对象之间的关系。
问题是,这花费了太多时间,而且我经常觉得如果我按原样实现该功能会更好。它仅是“三行代码”与“新接口+两个用于实现该接口的类”。
从产品的角度(当我们谈论结果时),我所做的事情是毫无意义的。我知道,如果我们要开发下一个版本,那么拥有良好的代码真的很棒。但另一方面,您可能花费了使代码“良好”的时间来实现一些有用的功能。
我经常对结果感到不满意-仅能执行A的好代码要比能执行A,B,C和D的不好的代码差。
这种方法是否可能为软件项目带来正的净收益,还是浪费时间?