过度设计与适度设计

我们每时每刻都在设计,无论是工作还是生活。在工作中,程序设计的深度直接影响着项目的工期和质量。

这个道理浅显易懂,每个人也都会在工作中掌握自己的设计,但每个人的都会认为自己的设计是适度的,那么如何判断一个设计究竟是适度设计还是过度设计呢?

最近,自己做了一些项目,也遇到了这样的困惑,在大家的帮助下,稍微总结了一下过度的特点,希望能有一些价值。

1、分成与耦合程度
在做一个基于前端表现产品时,为了追求解耦,为了追求分层,将其中的功能分成不同的模块。这种思想本身是没有问题的,但过犹不及,同学们对自己的产品期望过高,甚至希望产品可以适用到绝大多数产品上,但结果往往是为了解耦而预留了过多的接口,代码臃肿不堪,不易改变,维护成本居高不下。因此,适度设计的产品应该把握,按需解耦,根据需求重构代码。

2、过多的依赖库,框架
有的时候,前端产品需要处理一些兼容性问题,因此必不可免的要写一些兼容性代码,为了方便,在有的设计中出现了过度引用第三方框架的问题。第三方框架的引入,在前期是一种解决兼容性问题行之有效的办法,但是随着时间的增长,第三方类库进行升级,bug修正。此时的第三方类库,就成为了后期维护的炸弹。同时,因为语言写法上的差异,在维护第三方类库的时候将会投入比修正兼容性问题更多的时间与精力。因此,保持代码纯净,只使用一个类库或者不使用类库,坚持代码语法规范,命名规范,格式规范是重要的。

3、为了设计而设计
有的时候,开发人员会经常接触到各种设计模式,这些设计模式,好比一座座工厂,将解决问题的方法批量的告诉我们,但工厂毕竟是工厂,他只能满足那种常见的固化需求,当需求灵活多变的时候,固化的设计模式所起到的作用就适得其反。

这只是我一些不成熟的想法,希望有这方面经验的同学多多交流。

原文链接(67 views)|暂无评论(赶紧抢沙发)