Skip to Content
C++程序设计:原理与实践(基础篇)(原书第2版)
book

C++程序设计:原理与实践(基础篇)(原书第2版)

by 本贾尼 斯特劳斯特鲁普
August 2021
Intermediate to advanced
450 pages
9h 36m
Chinese
Pearson
Content preview from C++程序设计:原理与实践(基础篇)(原书第2版)

5.9.1 实用调试建议

在编写代码前一定要仔细考虑调试问题。如果已经写完很多行代码之后你才想到应该如何简化调试问题的话,那就太晚了。

首先你要决定如何报告错误:“使用error()并在main()中捕获异常”应该是你从本书学到的一个标准答案。

要提高程序的易读性,这样你会有更多机会发现错误所在:

·为代码做好注释。这并不意味着“加上大量注释”。能靠代码本身表达清楚的,不要用注释。注释的内容应该是你不能在代码里说清楚的部分。你应该用尽量简洁、清楚的语言把它们说清楚,包括:

·程序的名称;

·程序的目的;

·谁在什么时候写了这个代码;

·版本号;

·复杂代码片段的目的是什么;

·总体设计思想是什么;

·源代码是如何组织的;

·输入数据的前提假设是什么;

·还缺少哪一部分代码,程序还不能处理哪些情况。

·使用有意义的名字。

·这并不意味着使用“长名字”。

·使用一致的代码层次结构。

·你是代码的负责人,集成开发环境可以帮助但不能替代你做所有事情。

·本书所使用的编程风格可以作为一个有益的起点。

·代码应该被分成许多小函数,每个函数表达一个逻辑功能。

·尽量避免超过一或两页的函数;大多数函数应该很短。

·避免使用复杂的程序语句。

·尽量避免使用嵌套的循环,嵌套的if语句,复杂的条件等。不幸的是,有时你必须这样做,但请记住复杂代码是错误最容易隐藏的地方。

·在可能的情况下,使用标准库而不是你自己的代码。

·同样是完成某个功能,标准库一般会比你自己写的程序考虑得更周全,经过了更完备的测试。

上面的描述有些抽象,但在后续的篇幅中,我们会通过一个个的例子来向你详细解释。

程序首先要编译通过。在这个阶段,编译器显然是你最好的助手。它给出的错误信息通常是很有用的,虽然我们总希望得到更准确的信息。除非你是一个真正的专家,否则你还是假定编译器是正确的为好。当然,如果你是一个真正的专家,这本书也不是为你写的。有时,你会觉得编译器遵循的规则实在是太愚蠢而且没有必要(通常并非如此),这些规则能够而且应该更简单(的确,但是它们不是这样的)。然而,俗话说“糟糕的工匠才会抱怨他的工具”。好的工匠了解自己工具的长处和短处,并能在此基础上对自己工作进行相应调整。下面是一些常见的编译错误: ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普
管理Kubernetes

管理Kubernetes

Brendan Burns, Craig Tracey
Go程序设计语言

Go程序设计语言

艾伦A. A.多诺万, 布莱恩W. 柯尼汉

Publisher Resources

ISBN: 9787111562252