还没好好看一遍《剑指Offer》,希望在阅读的过程中能记录一下,同时也方便以后复习。
3. 高质量的代码
3.2 代码的规范性
代码的完整性:
- 功能测试:要满足基本功能、尽量突破常规思维的限制
- 边界测试:考虑循环、递归终止条件;字符串转整数时确保极大极小值等。
- 负面测试:各种可能的错误输入
3 种错误处理的方法:
优点 | 缺点 | |
---|---|---|
返回值 | 和系统 API 一致,0 为正常,其他为错误 | 不能方便使用计算结果 |
全局变量 | 可以直接得到计算结果,方便使用 | 很容易忘记检查 |
异常 | 逻辑清晰,明确定义错误类型 | 一些语言不支持,对性能有负面影响 |
具体用哪种需要考虑具体场景,可以和面试讨论一下采用哪种比较合适。