Skip to content
bajdcc edited this page Dec 18, 2016 · 1 revision

Welcome to the learnprogram wiki!

代码评审可能会涉及以下内容:

  • 代码格式
  • 是否有语法错误
  • 运行时是否会出现异常的行为,如崩溃、越界等
  • 效率(时间和空间)
  • 算法的新颖程度
  • 算法的容错性
  • 代码的可读性
  • 可以进一步优化的地方
  • 其他暂时还没想到的内容

你有一种思路,我也有一种思路,交换一下,每个就有两种思路了。

对初学者,首先需要保证代码不出错,然后考虑代码是否实现了题目所要求的功能;随后想一想有没有其他的思路,想不出的话当然可以参考他人的思路;接着需要思考代码有哪里要改进,怎样提高可读性;最后要考虑代码是否可以处理其他异常的输入情况,提升代码的容错性;最终:思考能否想出其他人都没想到的、很新颖的办法。

目前作业过程中存在的坑:

  • 数组访问越界,迭代器访问越界

作业中可以优化的地方:

  • 返回时省略if
  • if判断换成switch
  • 字典map查表换成数组寻址(以ascii为下标)
  • 函数调用传参,如果参数只读,可以改成常引用
  • inline
  • 递归换成非递归
  • 程序的时间和空间局部性
  • 其他还没想到的内容

Clone this wiki locally