matlab软件 可扩展性要求,对软件设计可扩展性的思考

通常设计软件的时候, 可扩展性是一个设计的考量点。 可扩展性的优点自然很多,如:增加需求的迭代速度, 提高维护效率。

但是最近在维护系统的过程中, 发现系统设计过于复杂, 导致学习成本和维护成本剧增。 背后的原因是为了增加系统的可扩展性, 增加软件的复杂度! 说白了,就是想太多了, 喜欢给自己添麻烦。

可扩展性, 是为了满足未来可能的需求,提前在软件内部实现了。  但是, 很多情况下, 系统的可扩展性增加了,但是以后再也没有用过它了, 却额外增加了系统复杂度。

所以, 在增加系统的扩展性之前, 有必要评估一下。可以从如下2个维度评估:

1. 目的是什么?

如果目的是为了满足未来需求。 那么需要对未来的需求做评估。 需求是确定的还是模糊的? 需求的实现时间点, 是1个月还是1年? 如果需求很模糊, 而且实现时间点未知或者超过半年, 完全没有必要去搞扩展性。

如果纯粹是自己想增加扩张性,以体现自己的设计功底或者最近学了牛逼的设计模式, 想往里套, 那么最好三思了, 别没事找事。

2. 会增加维护成本嘛?

如果因为引入了可扩展性, 导致了代码的可读性降低,那宁可放弃。 软件永远不是一个人维护, 在开发软件的时候,可读性要排在第一位。 如果可读性很差, 影响的不是一个人的效率, 而是所有维护该系统的人的效率。

该功能的学习成本高嘛? 如果学习成本很高, 意味着维护效率的降低。

所以, 在增加软件的扩展性之前, 要三思。 记得三思而行。写代码永远不是最复杂的一项, 在动手之前,先想好怎么实现,然后说服自己和队员。

说了这么多废话,其实可以用一句话概括过早优化是一切罪恶的根源

也可以用奥卡姆剃刀总结:如无必要,勿增实体

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值