-
Notifications
You must be signed in to change notification settings - Fork 28
Home
bajdcc edited this page Dec 18, 2016
·
1 revision
Welcome to the learnprogram wiki!
代码评审可能会涉及以下内容:
- 代码格式
- 是否有语法错误
- 运行时是否会出现异常的行为,如崩溃、越界等
- 效率(时间和空间)
- 算法的新颖程度
- 算法的容错性
- 代码的可读性
- 可以进一步优化的地方
- 其他暂时还没想到的内容
你有一种思路,我也有一种思路,交换一下,每个就有两种思路了。
对初学者,首先需要保证代码不出错,然后考虑代码是否实现了题目所要求的功能;随后想一想有没有其他的思路,想不出的话当然可以参考他人的思路;接着需要思考代码有哪里要改进,怎样提高可读性;最后要考虑代码是否可以处理其他异常的输入情况,提升代码的容错性;最终:思考能否想出其他人都没想到的、很新颖的办法。
目前作业过程中存在的坑:
- 数组访问越界,迭代器访问越界
作业中可以优化的地方:
- 返回时省略if
- if判断换成switch
- 字典map查表换成数组寻址(以ascii为下标)
- 函数调用传参,如果参数只读,可以改成常引用
- inline
- 递归换成非递归
- 程序的时间和空间局部性
- 其他还没想到的内容