健壮性

简介:

昨天晚上对手头的系统代码分析了一下,认为主要的问题是系统健壮性不够。

想了想,一个健壮的系统,应该达到这样的一些要求。

最高标准,是系统内部运行出现异常或问题时,系统能够自行做适当的处理,并继续运行。继续运行的流程,可以是转到错误页面,或者跳出错误提示。

这个最高标准要求我们对每一行代码可能出现的异常进行判断、捕获和处理。代码会比较冗余,而且在设计上,很难做到把每一种可能的异常都预先考虑到, 并在代码中进行处理。这个最高标准更多的是作为一个不断逼近的极限值。

其次的要求,应该是系统内部出现问题时,程序员能够知道问题出在什么地方,能够尽快、最好的把问题解决掉,从而恢复系统的正常运行。

这个要求要求代码中的日志记录比较详细,而且能够精确的定位到出错位置。代码上的冗余是少不了的。而且日志文件也可能会比较大。当然,拆分日志是个 好法子。

现在我手上的系统,这两点都不算达标。所以眼下要“重新再来”。sigh,我再一次怀念起了需求分析和系统设计……




本文转自 斯然在天边 51CTO博客,原文链接:http://blog.51cto.com/winters1224/799015,如需转载请自行联系原作者

相关文章
|
缓存 移动开发 关系型数据库
Linux 内存 占用较高问题排查
Linux 内存 占用较高问题排查
446 2
|
开发框架 .NET 芯片
电子技术实训——多功能数字钟的设计
电子技术实训——多功能数字钟的设计
电子技术实训——多功能数字钟的设计
|
Arthas Kubernetes 数据可视化
推荐10个GitHub上适合练手的后端项目(涵盖初中高阶)
上周,我们推出了26个好玩又有挑战的前端练习项目。 不少同学留言说,那后端的呢?后端也要! 淘系工程师一呼就应,我们邀请了2位淘系技术后端工程师,筛选出10个难度层层递进,好玩且实用的后端项目,包含java类库中的“瑞士军刀”工具、可视化API展现等等,难度依然分为【初级篇:4个】、【中级篇:3个】、【高级篇:3个】,不同学习诉求的同学可按需选择~
推荐10个GitHub上适合练手的后端项目(涵盖初中高阶)
|
JavaScript 前端开发 安全
在众多的测试工具中,Cypress以其强大的端到端测试能力和与TypeScript的完美结合,成为了前端开发者的首选
【6月更文挑战第11天】Cypress结合TypeScript,打造前端测试新体验。TypeScript增强代码可读性和稳定性,Cypress提供强大端到端测试,二者结合提升测试准确性和可靠性。通过类型定义、自定义命令和断言,优化测试代码;Cypress模拟真实用户操作、时间旅行功能及内置调试工具,确保应用功能性能。推荐前端开发者使用TypeScript+Cypress进行端到端测试。
185 2
|
canal 缓存 NoSQL
Redis常见面试题(一):Redis使用场景,缓存、分布式锁;缓存穿透、缓存击穿、缓存雪崩;双写一致,Canal,Redis持久化,数据过期策略,数据淘汰策略
Redis使用场景,缓存、分布式锁;缓存穿透、缓存击穿、缓存雪崩;先删除缓存还是先修改数据库,双写一致,Canal,Redis持久化,数据过期策略,数据淘汰策略
Redis常见面试题(一):Redis使用场景,缓存、分布式锁;缓存穿透、缓存击穿、缓存雪崩;双写一致,Canal,Redis持久化,数据过期策略,数据淘汰策略
|
运维 安全 容灾
专有云文档中心升级 企业版V3.12.0重磅发布
阿里云专有云是基于阿里云分布式架构,针对企业级市场使用特点,为客户量身打造的开放、统一、可信的企业级云平台。本次专有云文档中心全面升级,从视觉体验、访问体验以及下载体验多个方面重塑用户观感,并配合专有云企业版V3.12.0全套容灾解决方案文档全量发布,助力您快速了解专有云功能特性。
专有云文档中心升级 企业版V3.12.0重磅发布
|
安全 Android开发 iOS开发
安卓与iOS操作系统的比较分析
【6月更文挑战第5天】本文将深入探讨安卓和iOS两大主流操作系统的特点、优势和劣势。通过对比分析,我们将揭示这两个系统在性能、安全性、用户体验等方面的差异,帮助用户更好地了解这两个系统,从而做出更明智的选择。
|
机器学习/深度学习 自然语言处理 网络架构
神经机器翻译(NMT)
神经机器翻译(NMT)
1026 2
|
前端开发 测试技术 关系型数据库
异常测试实践与梳理
异常测试,是指通过人为制造异常,检测系统的处理是否符合逻辑。结合在A项目中的实践,梳理一下常见异常测试的类型、关注点及常用测试工具等。
7709 0
按键驱动-实现短按、长按、双击、长按抬起事件
按键驱动-实现短按、长按、双击、长按抬起事件