在编写代码前一定要仔细考虑调试问题。如果已经写完很多行代码之后你才想到应该如何简化调试问题的话,那就太晚了。
首先你要决定如何报告错误:C++中“使用error()并在main()中捕获异常”是一个标准答案。
要提高程序的易读性,这样你会有更多机会发现错误所在:
为代码做好注释。这并不意味着“加上大量注释”。能靠代码本身表达清楚的,不要用注释。注释的内容应该是你不能在代码里说清楚的部分。你应该用尽量简洁、清楚的语言把它们说清楚,包括:
- 程序的名称、程序的目的;
- 谁在什么时候写了这个代码;
- 版本号;
- 复杂代码片段的目的是什么;
- 总体设计思想是什么;
- 源代码是如何组织的;
- 输入数据的前提假设是什么;
- 还缺少哪一部分代码,程序还不能处理哪些情况。
使用有意义的名字。
- 这并不意味着使用“长名字”。
使用一致的代码层次结构。
- 你是代码的负责人,集成开发环境可以帮助但不能替代你做所有事情。
- 良好的编程风格可以作为一个有益的起点。
代码应该被分成许多小函数,每个函数表达一个逻辑功能。
- 尽量避免超过一或两页的函数;
- 大多数函数应该很短。
避免使用复杂的程序语句。
- 尽量避免使用嵌套的循环,嵌套的if语句,复杂的条件等。不幸的是,有时你必须这样做,但请记住复杂代码是错误最容易隐藏的地方。
在可能的情况下,使用标准库而不是你自己的代码。
- 同样是完成某个功能,标准库一般会比你自己写的程序考虑得更周全,经过了更完备的测试。