避免过度设计

本文列举了七个常见的过度设计现象,如过分追求工程化、泛化业务、通用抽象、浅层封装、盲目追求质量工具化、过度采纳新技术以及添加不必要的特性。通过这些案例,提醒工程师们在设计系统时需要做适当的平衡,避免将系统推向另一个复杂度高峰。
摘要由CSDN通过智能技术生成

在这里插入图片描述
许多文章都在强调不要过度设计自己的系统,但是没有道出个所以然来,所以本文列出一些经典的过度设计,希望能给你带来启发,在工程上做一些平衡,避免过度设计把我们推到另外一个复杂度上

1、Engineering is more clever than Business

工程师通常认为自己是最聪明的,这第一个错误容易让自己过于工程化。我们计划了100件事,业务方会提出我们之前没有考虑到的第101件。如果我们解决了100个问题,那么接下来还可能会有1000个问题。我们以为一切都是掌握之中,然而实际完全不知道未来会发生什么

在研发生涯中,从未碰到过业务在需求上是收敛,它们总是发散的,这是业务的本来面目,不是产品经理的错

2、Reusable Business Functionality

当业务方提出了越来越多的需求时,我们第一反应是尽量分组和泛化业务,这是大部分MVC架构最后成为由大量模型或者控制器堆积的原因,正如前面所说的,业务永远不会是收敛的,它们总是发散的

在系统中,共享逻辑和抽象应该是趋于稳定的,然而随着功能迭代越来越多,它们要么会保持平稳,要么会变得脆弱。当相反的情况发生时,就会成为太大而失败的系统

比如说,有个业务是实现用户属性管理,我们持着任何东西都是相似的这种观点,首先完成通用的CRUD逻辑,但是这个需求实际上要求满足13个不同的注册流程,也就是说通用的逻辑代码没有任何意义。同理,一个订单视图和订单编辑视图流程是完全不一样的&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值