书评:“像程序员一样思考”,作者:V. Anton Spraul

“重塑你的大脑”。 这本书封底的引言再好不过了。我买这本书是为了添加到我不断增长的编程和脚本书籍列表中,希望能克服我在故障排除技能上的一些“障碍”。在开始这篇简短的评论之前,我先介绍一下背景。

我在 90 年代初开始尝试用 Basic 编程,使用 QuickBasic,然后自学了 C 和 Java 编程,但很快就忘记了我学到的一切。快进 10 多年,到现在我大部分时间都在用 Bash、Perl 和 Powershell 编写脚本,偶尔也涉猎 C 语言(主要是修补 Linux、阅读别人的代码或 AVR 编程)。所以当我看到这本书时,我想“嘿,书的背面说我不一定需要 C++ 编程,这可能正合我意”。

好的,在开始我的评论之前,让我们先把一件事说清楚。仅仅因为书的背面写着,我引用一下:“仅仅因为书中的例子是用 C++ 编写的,它们所阐述的创造性问题解决概念超越了任何特定的语言......”,如果你不了解任何 C++ 的基础知识,无论是类、数组、内存分配等,那么老实说,你要么需要拿出你的 C++ 基础书(就像我不得不做的那样)并复习你的 C++,要么阅读本书以获取一些非常好的问题解决示例。 我会说这本书 90% 的内容都是关于 C++ 示例以及与 C++ 编码示例相关的问题解决。

这本书会让你成为更好的程序员吗?它会教你编写更好的代码、更好的语法吗?不会。然而,这本书会教你你的代码中哪里做错了,如何简化你的代码,以及如何退后一步,喘口气,重新评估它,无论好坏。 虽然我已经十多年没有接触过一行 C++ 代码了,但我还是能够阅读这本书(甚至采用了其中的一些示例,将它们转换为 C 语言),并了解了我多年来犯的一些错误。 有很多次,我在编写程序或脚本时感到沮丧,在沮丧中,我写出了复杂、晦涩的代码,这些代码完全没有意义,但却以某种扭曲、胶带和细绳的方式运行。 如果我之前读过这本书,退后一步,并利用本书中说明的步骤来正确评估我的最终目标,那么我的最终结果将是相同的(代码运行),但沿途的问题会更少。

接下来快速浏览一下这本书。前几章介绍了编程环境之外的问题解决技巧,例如谜题和日常问题解决——在您进入编程环境之前,利用批判性思维和分析性思维来解决现实世界的问题。 从那里,作者深入探讨了在编程环境中解决问题所需的技能,然后立即进入 C++ 示例。

每个示例都按章节分解,每章都指导读者在有效解决问题的“最佳实践”场景中。 每章的结尾都是读者可以完成的编程练习列表,我强烈推荐这些练习。

本书的结尾是关于问题解决的总结章节,总结了读者在本书中阅读的所有示例和练习。

我的想法? 如果您没有 C++ 背景,我真的会考虑其他书籍,除非您想购买这本书来学习关于“非 C++”问题解决指南的 2 章左右的内容。 但是,如果您是正在学习 C++ 的学生或经验丰富的 C++ 程序员,我强烈建议将本书添加到您不断增长的书架上。 您可能会改变您重新评估编写代码的方式。 我知道我做到了; 读完这本书后,我开始翻阅过去 15 年多来编写的脚本和代码,并难以置信地摇了摇头。 是时候拿起我的笔记本并解决旧脚本的问题了。

 

加载 Disqus 评论