软件开发中的错误处理与异常应对
1. 软件开发中的不可避免的错误
软件开发是一项极其复杂的工作,这源于程序本身的不可预测性。计算机和大多数编程语言都基于图灵机这一理论模型,基于图灵机的编程语言被称为图灵完备语言。图灵机赋予了软件开发无限的创造力,但在不运行程序的情况下,很难验证其正确性。一些语言依赖非图灵完备的机器,如 HTML、XML 或正则表达式,它们的能力远不如图灵完备语言。由于图灵机的特性,错误是不可避免的,不存在无错误的程序。在开始软件开发之前,接受这一事实会让你的工作更加轻松。
2. 错误处理的优先级
对于任何规模的项目,开发团队都需要一个错误分类流程来决定修复哪些错误。错误分类的概念起源于第一次世界大战,当时医护人员需要决定治疗哪些患者,放弃哪些患者,以将有限的资源分配给有生存机会的人。这是有效利用稀缺资源的唯一方法。错误分类有助于确定首先要修复的错误,甚至判断是否值得修复。
确定错误优先级的方法有很多。在微软的 Windows 团队,有一套复杂的标准来决定修复哪些错误,由多个工程权威进行评估,还会每天开会讨论错误的优先级。但对于大多数软件项目来说,可能并不需要如此复杂的流程。例如,伊斯坦布尔一个官方婚姻中心的自动化系统在更新后出现故障,所有婚礼仪式都不得不停止,这时就需要将无法举行婚礼这一问题分解为适用性、影响和严重性等具体指标来确定优先级。
一种更简单的评估优先级的方法是引入“严重性”这一辅助维度。优先级体现的是错误对业务的影响,而严重性则是对客户的影响。例如,平台上的一个网页无法正常工作,这对客户来说是高严重性问题,但优先级可能因该页面是主页还是很少有客户访问的偏僻页面而有所不同。同样,主页上的企业标志丢失,可能对客
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



