代码的鲁棒性

代码的鲁棒性

容错性是鲁棒性的一个重要体现。不鲁棒的软件在发生异常事件的时候,比如用户输入错误的用户名、试图打开的文件不存在或者网络不能连接,就会出现不可预见的诡异行为,或者干脆整个软件崩溃。

提高代码鲁棒性的有效途径是进行防御性编程。防御性编程是一种编程习惯,是指预见在什么地方可能会出现问题,并为这些可能出现的问题制定处理方式。比如,当试图打开文件时,发现文件不存在,可以提示用户检查文件名和路径;当服务器连接不上时,可以试图连接备用服务器等。这样,当异常情况发生时,软件的行为也尽在我们的掌握之中,而不至于出现不可预见的事情。

在面试的时候,最简单也最实用的防御性编程就是在函数入口添加代码以验证用户输入是否符合要求。通常面试要求的是写一两个函数,我们需要格外关注这些函数的输入参数。如果输入参数是一个指针,那么指针是空指针怎么办?如果输入的是一个字符串,那么字符串的内容为空怎么办?如果能把这些问题提前考虑到,并进行相应的处理,那么面试官就会觉得我们有防御性编程的习惯,能够写出鲁棒的软件。

22 链表中倒数第k个节点
23 链表中环的入口节点
24 反转链表
25 合并两个排序的链表
26 树的子结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值