剑指offer 第三章 高质量的代码

代码的规范性

这里写图片描述
1. 清晰地书写,在纸上写代码不要太潦草
2. 清晰的布局,注意缩进层次
3. 合理的命名,建议使用完整的英文单词命名变量

代码的完整性

这里写图片描述

  1. 功能测试:尽量打破常规思维限制,
  2. 边界值的测试用例:
    1)数组元素的第一个和最后一个
    2)循环的第 0 次、第 1 次和倒数第 2 次、最后一次
  3. 对非法输入的检测。

例题:
这里写图片描述

等价类划分,指的是一种典型的、重要的黑盒测试方法。其就是解决如何选择适当的数据子集来代表整个数据集的问题,通过降低测试的数目去实现“合理的”覆盖,以此来发现更多的软件缺陷
通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

我们就可以对题目进行等价类划分,把数值分成正数、负数和零,把整数分成正整数、负整数和零。
从中就可以找到几个典型的情况:

  1. 0的0次幂不存在,其余的数的零次幂为1
  2. 所有数的正整数次幂都可以连乘算出
  3. 0的负数次幂不存在,正数和负数的负数次幂可以用倒数算出

代码的鲁棒性

鲁棒( robust)是指程序能够判断输入是否合法,对不合法的输入进行合理的处理。
最简单的处理方法就是在程序入口处添加代码验证输入是否合法,但有时候问题并不是这样简单,比如删除链表的倒数第k个节点,如果k大于链表的长度时如何处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值