文章目录
- 第三章 高质量代码
- 1.1 面试官谈高质量代码
- 1.2 代码的规范性
- 1.3 代码的完整性
- 1.4 代码的鲁棒性
第三章 高质量代码
1.1 面试官谈高质量代码
- 代码应该考虑异常状况和垃圾回收问题,不能忽视边界情况
- 变量,函数命名应该要统一,备注要恰到好处,为实际的应用选择合适的数据结构
- 程序的正确性和鲁棒性比较重要。输入参数的检查,处理错误和异常的方式,命名方式等。
1.2 代码的规范性
1.书写,布局和命名都将决定代码的规范性(时间够的,一般就让写50行以内的代码)
- 在纸上写程序和思路的时候一定不要乱涂乱画,要能看的清,有章可循,最好用铅笔。
- 代码布局要规范,该有的缩进不能少
- 函数命名要尽量有时间的意义,可以让人望名生意。
1.3 代码的完整性
1.从3个方面确保代码的完整性
- 考虑问题要周全:
- 基本功能的实现
- 输入边界值
- 不合规范的输入
- 面试的时候在写代码的时候,应该把可能的输入都想清楚
- 可以从功能测试,边界测试和负面测试三个方面测试用例
- 普通功能的测试,保证代码可以完成面试官的基本要求。
- 边界值的测试:循环结束的边界是否正确
- 负面测试:考虑各种可能的错误输入
- 3种处理错误的方法:
- 函数返回值部位0表示错误
- 通过全局变量记录错误信息,然后通过方法查看
- 抛出异常,但是异常会影响程序的正常运行,影响性能。
由于计算机表示小数(float还是double)有一定的误差,不能直接用==来判断是否相等,可以通过比较其差值的绝对值,小于某个值则认为相等。
细节很重要,细节决定成败。
- 如果面试题非常简单,且操作对象是整数,没有给出数的范围,则小心是否会有大叔的问题(考虑要全面),字符串是一个简单,有效的大数表示方法。
1.4 代码的鲁棒性
1.容错性是鲁棒性的一个重要的体现,能够对异常输入进行判断和处理非常重要
2.提高代码的鲁棒性的有效途径是进行防御性编程,即在认为可能出错的地方加上处理机制程序。
- 在面试中,常用的方法是对函数的参数进行判断是否符合要求。
- **面试过程中,一定要注意代码的鲁棒性。
- **在程序中含有指针的时候,一定要想着如果指针为NULL怎么办;为了保证程序的正确性,在写出程序后,自己要想出几个用例测试自己的程序