软件设计的7个美德

本文探讨了软件设计的七大美德:效力、坚固性/安全性/可靠性、可维护性、灵活性、可重用性/可移植性、可扩展性和效率。每个美德的含义和相关良好实践被详细解释,强调了在不同场景下如何平衡这些因素来创建高质量的软件。
摘要由CSDN通过智能技术生成

在本文中,我将解释这些优点中的每一个的含义,并引用其中涉及的一些众所周知的良好做法。

要生成高质量,可靠和可扩展的软件,必须学习并遵循许多良好的实践,设计模式,代码检查等。

但是他们每个人都为这七个黄金美德中的一个或几个服务:

  1. 效力
  2. 鲁棒性/安全性/可靠性
  3. 可维护性
  4. 灵活性
  5. 可重用性/可移植性
  6. 可扩展性
  7. 效率

在本文中,我将解释这些优点中的每一个的含义,并引用其中涉及的一些众所周知的良好做法。

为什么这个命令很重要?

我已经写下了这七个美德,根据需要对它们进行了排序,这是更必要的。但我将以向后的顺序进行说明。

假设我(一个客户)请求一个程序,并且给了我一个软件,该软件被认为在技术上是完美的。

哦,好的:据说这是完美的,但是我知道在现实世界中没有什么是完美的。因此,如果它必须失败,我宁愿它以效率失败,原因有两个:

  1. 如果程序拥有其他六个优点,那么开发最终的优化将容易得多。
  2. 尽管效率失败,但如果程序仍可扩展,我将有机会增加基础平台的功能以获得所需的吞吐量。

如果可伸缩性失败,但是程序具有可重用的部分,则我可以识别代码中的瓶颈,并用更好的组件替换它们,同时仍然重用其余部分。

如果该程序不可重用,但它很灵活,那么我可以调整我的数据,以便只要足够灵活,现有例程就可以对其进行处理。

如果程序既不灵活,我希望它至少是可维护的,因为这样我就可以对其进行探索,发现问题并进行必要的更改并构建另一个固定版本。

如果程序是一堆乱七八糟的代码行,没有可读性,组织或文档,那么我希望它至少是健壮的,因此几乎没有需要修复的可能性。

如果它既不健壮,我希望它至少是有效的,因为一个有效的程序将运行一段时间,直到发现一些弱点。并且,即使在这种情况下,程序的其他部分仍可能起作用。

最后,如果该程序甚至没有效果,那么除了从头开始编写另一个新程序之外,别无他法。而这次,确保它实现了设计的七个优点。

计划

从规划的角度来看,有一些略有不同的方法:

  • 如果您只是设计一个无法确定其未来的原型,那么请着
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值