畅销编程书籍中的10个编码秘密

畅销编程书籍中的10个编码秘密

在我们这个快节奏的世界里,时间是我们似乎永远都不够的东西。由于任务、责任和爱好层出不穷,书籍往往让人觉得是很少人能负担得起的奢侈品。

我知道,尽管我们很想从这些书中吸收每一点知识,但时间总是在流逝。这就是为什么我决定为你跑腿的原因。好的,让我们开始吧!如果你想了解更多关于编程的相关内容,可以阅读以下这些文章:
Mojo:比Python快35000倍的AI编程语言
作为一个数据科学家/分析师,不要重复这5个编程错误
数据科学家/分析师应该避免的5大编程错误
数据工程职业道路:到底该选编程还是无码?

01 在编写代码之前先理解问题
(灵感来自“Clean Code”)

Robert C. Martin,也被称为“叔叔鲍勃”,在他的巨著“Clean Code”中直言不讳地告诫每个程序员:“在编码之前要先理解问题!”

应用场景—项目管理、软件开发、客户项目、解决问题、调试、应用程序设计。

关键教训—在检查峡谷宽度之前,不要冒险跳过峡谷。先深入了解问题。唯一比不解决问题更糟糕的就是解决错误的问题。

最重要的5个教训:

  1. 了解用户的需求。
  2. 写一个大致的计划。
  3. 确保你的rubber duck也能明白(谷歌‘rubber duck debugging’)
  4. 在编码之前好好考虑一下。
  5. 修改、修改、再修改。

02 掌握设计模式
(灵感来自“设计模式”)

《设计模式》这本四人帮的书籍就像是编程界的披头士乐队一样,具有革命性和永恒性。

应用场景—软件架构,面向对象编程、高效编码、代码可维护性、可扩展的软件开发。

关键教训—了解你的模式。就像你不会在不知道马踏棋盘的情况下下国际象棋一样,在不了解你的设计模式的情况下也不要编码。

最重要的5个教训:

  1. 理解每个模式的目的。
  2. 学会识别每个模式适用的场景。
  3. 模式不仅仅适用于OOP语言。
  4. 不要强行使用不适合的模式。
  5. 记住,模式是解决方案,而不是目标。

03 深入理论(灵感来自《计算理论导论》)

Michael Sipser的书就像是编程的矩阵。你需要深入探索,多次下潜然后再回到表面,才能理解其中的内容,但当你真正理解时,那种感觉真是太棒了!

应用场景—算法设计、解决问题、效率优化、数据结构选择、竞争性编程。

关键教训—珍惜理论,热爱理论,成为理论!也许不是最后一个,但理解计算理论会提高你解决问题的能力。

最重要的5个教训:

  1. 算法很性感。
  2. P和NP不是关于维生素的。
  3. 大O符号不是说唱歌手。
  4. 状态机不仅仅适用于政治。
  5. 最重要的是,上下文无关并不总是一件好事。

04 力求代码优雅
(灵感来自《计算机程序的结构和解释》)

Abelson和Sussman的书就像一位禅师教你生活的艺术,但是是为了代码。

应用场景—代码维护、团队项目、文档编写、调试、软件质量保证。

关键教训—追求优雅。让你的代码成为编程中的黑色礼服——简单、优雅、永远合适。

最重要的5个教训:

  1. 代码被阅读的次数比被编写的次数多,所以要让它易读。
  2. 大道至简,至繁归于至简。
  3. 代码中加注释,就好像下一个维护你代码的人是一个知道你住址的杀人狂一样
  4. 优雅不是可有可无的。
  5. 如果有疑问,请用实际行动解决!

05 掌握JavaScript的怪癖
(灵感来自“You Don’t Know JS”)

Kyle Simpson的《You Don ‘t Know JS》就像JavaScript书籍中的Scooby-Doo,揭露了隐藏在这种无处不在的语言背后的怪癖。

应用场景—Web开发,API开发,全栈开发,前端开发,交互式Web应用程序。

关键教训—了解你的怪癖。就像知道冰箱里的奇怪气味是布里奶酪一样,了解JavaScript的怪癖可以帮你省去很多麻烦。

最重要的5个教训:

  1. 强制转换并不总是一件坏事。
  2. JavaScript中的this比Bigfoot更神秘。
  3. Callbacks, promises和async/await不仅仅是时髦的术语。
  4. 作用域和闭包是最好的伙伴。
  5. 原型不只是发明者的专利。

记住,在编程的世界里,知识就是力量,书籍就是知识,因此,书籍是……等等,这不是编程逻辑课!你明白我的意思。现在就行动起来,让这些书为你骄傲!

06 做一个务实的程序员
(灵感来自《务实的程序员》)

Andrew Hunt和David Thomas给了我们《实用的程序员》一书,为我们提供了一系列实用的编程策略。

应用场景—敏捷开发、团队协作、持续学习、项目管理、代码审查。

关键教训——适应能力强。就像变色龙能融入环境一样,务实的程序员能适应手头的问题。

最重要的5个教训:

  1. “It doesn’t work”不是一个可以接受的错误报告。
  2. 熟练使用一个编辑器。
  3. 每年学一门新语言。
  4. 不要在没有咨询的情况下重写代码。
  5. 最好的学习方式就是把你所学的教给别人。

07 算法是你最好的朋友
(灵感来自“算法导论”)

由Cormen、Leiserson、Rivest和Stein合著的《算法导论》就像编程书籍中的大爆炸理论—它将复杂的概念分解成易于理解的部分。

应用场景—竞争性编程、效率优化、软件工程、问题解决、系统设计。

关键教训—对算法友好。与算法打成一片就像拥有世界上最好的GPS系统。它可以帮助你找到通往目的地的最有效的路径。

最重要的5个教训:

  1. 掌握基本的数据结构。
  2. 理解时间和空间复杂度。
  3. 学习著名的排序算法。
  4. 图论并不像听起来那么可怕。
  5. 动态编程可以成为你的秘密武器。

08 成为Python大师
(灵感来自“Learning Python”)

Mark Lutz的“Learning Python”就像一张通往Python摇滚音乐会的后台通行证,在那里你可以向摇滚明星学习。

应用场景—数据科学、机器学习、web开发、自动化、数据分析。

关键教训—Python是一个强大的工具。就像一把瑞士军刀,Python是万能的,几乎可以在任何编程场景中帮助你。

最重要的5个教训:

  1. 充分利用Python的简单性。
  2. 掌握Python强大库的使用。
  3. 掌握Python的面向对象特性。
  4. 了解Python在数据分析和机器学习中的应用。
  5. 使用Python自动化无聊的工作。

09 拥抱测试的艺术
(灵感来自“测试驱动开发”)

Kent Beck的“测试驱动开发”就像是代码的消防演习。它可以帮助你在错误造成严重破坏之前发现并消灭它们。

应用场景—软件质量保证、调试、敏捷开发、持续集成/持续交付(CI/CD)、项目管理。

关键教训—热爱你的测试。就像刷牙可以防止蛀牙一样,编写测试可以防止错误。

最重要的5个教训:

  1. 理解红色/绿色/重构周期。
  2. 了解单元测试和集成测试之间的区别。
  3. 测试不仅仅是为了发现bug。
  4. 对测试有一定了解。
  5. 当有疑问时,测试一下!

10 掌握JavaScript的方式
(灵感来自“Eloquent JavaScript”)

Marijn Haverbeke的“Eloquent JavaScript”将带你踏上一段JavaScript之旅。

应用场景—全栈开发、前端开发、后端开发、web应用开发、实时应用。

关键教训—JavaScript无处不在。就像空气一样,它就在你的周围,掌握它就像深呼吸一样令人耳目一新。

最重要的5个教训:

  1. 理解JavaScript独特的对象模型。
  2. 掌握DOM。
  3. 掌握异步编程。
  4. 了解如何处理JavaScript的“怪癖”。
  5. JavaScript是一种“活的”语言,因此请及时了解最新的更新。

感谢阅读。你还可以订阅我们的YouTube频道,观看大量大数据行业相关公开课:https://www.youtube.com/channel/UCa8NLpvi70mHVsW4J_x9OeQ;在LinkedIn上关注我们,扩展你的人际网络!https://www.linkedin.com/company/dataapplab/

原文作者:Alex Maher
翻译作者:文杰
美工编辑:过儿
校对审稿:Chuang
原文链接:https://maherz.medium.com/10-coding-secrets-from-best-selling-programming-books-7fc68452379