文章目录

  • 1.鲁棒性简介
  • 2.总结
  • 3.参考文献

1.鲁棒性简介

鲁棒是因为Robust的音译,也可叫做健壮性。鲁棒性的意思就是,指程序能够判断输入是否合乎规范要求,并对不符合要求的输入予以合理的处理。
容错性是鲁棒性的一个重要体现,当输入为某些负值条件时,程序是否能够得到合理的输出。
提升代码鲁棒性的有效途径是进行防御性编程。那么什么是防御性编程呢? 防御性编程是一种编程习惯,指预见在什么地方可能会出现问题,并为这些可能出现的问题制定处理方式。比如,当你要打开某一个文件时,发现文件不存在,可以提示用户检查文件名和路径;当服务器连接不上时,可以连接备用服务器等。
在面试当中,最简单、最实用的防御性编程就是在函数入口处添加代码来验证用户的输入是否符合要求。比如,函数输入为list,那么若为空列表呢?输入为一个dict,那么么若为空字典呢?

2.总结

总之呢,在编程的时候一定要尽量考虑到各种可能会出现的情况,并为每种情况制定合理的处理方式。

3.参考文献

[1]剑指offer丛书

剑指offer系列-代码的鲁棒性相关推荐

  1. 在要求输入数字处找到非数字字符_剑指 Offer 67. 把字符串转换成整数 leetcode 剑指offer系列...

    点击专辑上方"蓝字"关注我吧 题目难度: 中等 原题链接[1] 今天继续更新剑指 offer 系列, 老样子晚上 6 点 45 分准时更新公众号 每日精选算法题, 大家记得关注哦~ ...

  2. 剑指offer python实现_剑指offer系列python实现 日更(三)

    今天来讲讲斐波那契数列和它的孩子们~先讲个冷笑话:今天来一盘斐波那契炒饭,它等于昨天的炒饭加上前天的炒饭 ‍ 7.斐波那契数列 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第 ...

  3. 数组中其余的排除_[leetcode 剑指offer系列] 面试题04. 二维数组中的查找

    题目难度: 简单 原题链接 今天继续更新剑指 offer 系列, 这道题的优化空间非常大, 个人感觉很适合作为面试题, 值得一做. 大家在我的公众号"每日精选算法题"中的聊天框中回 ...

  4. leetcode 打印_剑指 Offer 总结 - leetcode 剑指offer系列

    剑指 Offer 系列完结撒花!! 本篇文章是对整个系列的精华总结, 对系列的每篇文章进行了分类, 并用一句话概括每道题的思路, 方便大家理解和记忆, 当然也包含原文完整链接供大家参考 总的来说, 写 ...

  5. 剑指offer系列-03.数组中的重复数字

    剑指offer系列第03题.数组中的重复数字 找出数组中重复的数字.在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内. 数组中某些数字是重复的,但不知道有几个数字重复了,也不 ...

  6. 剑指offer系列-24.反转链表

    剑指offer系列第24题.反转链表 题目描述: 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点. 示例:输入: 1->2->3->4->5->N ...

  7. 剑指offer系列-06.从尾到头打印链表

    剑指offer系列第06题.从尾到头打印链表 题目描述: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1:输入:head = [1,3,2] 输出:[2,3,1] /* ...

  8. 剑指offer系列-30.包含min函数的栈

    剑指offer系列第30题.包含min函数的栈 题目描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中, 调用 min.push 及 pop 的时间复杂度都是 ...

  9. 剑指offer系列-09.用两个栈设计队列

    剑指offer系列第09题.用两个栈设计队列 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead , 分别完成在队列尾部插入整数和在队列头部删除整 ...

最新文章

  1. POJO、JavaBean、DAO
  2. sqlite3admin触发器创建
  3. mysql修改索引对交易影响吗_MySQL中字符串索引对update的影响分析
  4. 用webBrowser打开网页出现脚本错误怎么办
  5. POJ - 2142 The Balance(扩展欧几里得)
  6. NetBeans 7.1:创建自定义提示
  7. Unity3d鼠标点击屏幕来控制人物的走动
  8. 进程VS线程---操作类型
  9. Node后端数据渲染
  10. IntelliJ IDEA 2020.1 首个稳定版重磅发布!
  11. SCPPO(十二):SQL误操作如何恢复?
  12. tomcat consider increasing the maximum size of the cache
  13. php session fixation,Session Fixation 攻防实战
  14. php 正则 零宽断言,正则表达式之零宽断言实例详解_正则表达式
  15. 区块链多方计算 人工智能学习笔记
  16. Numpy数据处理基础方法:运算、随机排列、修改
  17. 论文学习——StyleGan原文精读
  18. Tello:无人机新姿势识别(小创实验)
  19. VC 操作excel
  20. 开源Jabber(XMPP) IM服务器介绍

热门文章

  1. ADC0809模数转换
  2. 用苹果CMS搭建电影网站教程
  3. 鼠标连点+键盘连按+键盘鼠标录制精灵独立版
  4. SONM月报_2018年8月
  5. 考ACCA你选择报班还是自学?
  6. 代小程序实现业务之代码管理
  7. 【算法讲5:乘性函数(中)】莫比乌斯函数 | 莫比乌斯反演 | 莫比乌斯反演应用
  8. 探秘:微软的免费杀毒软件Morro到底有何本领?
  9. 一个用Dijkstra算法实现的路由算法的java程序——9 图信息文件示例
  10. IPRAN PTNRAN