畅销编程书籍中的10个编码秘密
在我们这个快节奏的世界里,时间是我们似乎永远都不够的东西。由于任务、责任和爱好层出不穷,书籍往往让人觉得是很少人能负担得起的奢侈品。
我知道,尽管我们很想从这些书中吸收每一点知识,但时间总是在流逝。这就是为什么我决定为你跑腿的原因。好的,让我们开始吧!如果你想了解更多关于编程的相关内容,可以阅读以下这些文章:
Mojo:比Python快35000倍的AI编程语言
作为一个数据科学家/分析师,不要重复这5个编程错误
数据科学家/分析师应该避免的5大编程错误
数据工程职业道路:到底该选编程还是无码?
01 在编写代码之前先理解问题
(灵感来自“Clean Code”)
Robert C. Martin,也被称为“叔叔鲍勃”,在他的巨著“Clean Code”中直言不讳地告诫每个程序员:“在编码之前要先理解问题!”
应用场景—项目管理、软件开发、客户项目、解决问题、调试、应用程序设计。
关键教训—在检查峡谷宽度之前,不要冒险跳过峡谷。先深入了解问题。唯一比不解决问题更糟糕的就是解决错误的问题。
最重要的5个教训:
- 了解用户的需求。
- 写一个大致的计划。
- 确保你的rubber duck也能明白(谷歌‘rubber duck debugging’)。
- 在编码之前好好考虑一下。
- 修改、修改、再修改。
02 掌握设计模式
(灵感来自“设计模式”)
《设计模式》这本四人帮的书籍就像是编程界的披头士乐队一样,具有革命性和永恒性。
应用场景—软件架构,面向对象编程、高效编码、代码可维护性、可扩展的软件开发。
关键教训—了解你的模式。就像你不会在不知道马踏棋盘的情况下下国际象棋一样,在不了解你的设计模式的情况下也不要编码。
最重要的5个教训:
- 理解每个模式的目的。
- 学会识别每个模式适用的场景。
- 模式不仅仅适用于OOP语言。
- 不要强行使用不适合的模式。
- 记住,模式是解决方案,而不是目标。
03 深入理论(灵感来自《计算理论导论》)
Michael Sipser的书就像是编程的矩阵。你需要深入探索,多次下潜然后再回到表面,才能理解其中的内容,但当你真正理解时,那种感觉真是太棒了!
应用场景—算法设计、解决问题、效率优化、数据结构选择、竞争性编程。
关键教训—珍惜理论,热爱理论,成为理论!也许不是最后一个,但理解计算理论会提高你解决问题的能力。
最重要的5个教训:
- 算法很性感。
- P和NP不是关于维生素的。
- 大O符号不是说唱歌手。
- 状态机不仅仅适用于政治。
- 最重要的是,上下文无关并不总是一件好事。
04 力求代码优雅
(灵感来自《计算机程序的结构和解释》)
Abelson和Sussman的书就像一位禅师教你生活的艺术,但是是为了代码。
应用场景—代码维护、团队项目、文档编写、调试、软件质量保证。
关键教训—追求优雅。让你的代码成为编程中的黑色礼服——简单、优雅、永远合适。
最重要的5个教训:
- 代码被阅读的次数比被编写的次数多,所以要让它易读。
- 大道至简,至繁归于至简。
- 代码中加注释,就好像下一个维护你代码的人是一个知道你住址的杀人狂一样
- 优雅不是可有可无的。
- 如果有疑问,请用实际行动解决!
05 掌握JavaScript的怪癖
(灵感来自“You Don’t Know JS”)
Kyle Simpson的《You Don ‘t Know JS》就像JavaScript书籍中的Scooby-Doo,揭露了隐藏在这种无处不在的语言背后的怪癖。
应用场景—Web开发,API开发,全栈开发,前端开发,交互式Web应用程序。
关键教训—了解你的怪癖。就像知道冰箱里的奇怪气味是布里奶酪一样,了解JavaScript的怪癖可以帮你省去很多麻烦。
最重要的5个教训:
- 强制转换并不总是一件坏事。
- JavaScript中的this比Bigfoot更神秘。
- Callbacks, promises和async/await不仅仅是时髦的术语。
- 作用域和闭包是最好的伙伴。
- 原型不只是发明者的专利。
记住,在编程的世界里,知识就是力量,书籍就是知识,因此,书籍是……等等,这不是编程逻辑课!你明白我的意思。现在就行动起来,让这些书为你骄傲!
06 做一个务实的程序员
(灵感来自《务实的程序员》)
Andrew Hunt和David Thomas给了我们《实用的程序员》一书,为我们提供了一系列实用的编程策略。
应用场景—敏捷开发、团队协作、持续学习、项目管理、代码审查。
关键教训——适应能力强。就像变色龙能融入环境一样,务实的程序员能适应手头的问题。
最重要的5个教训:
- “It doesn’t work”不是一个可以接受的错误报告。
- 熟练使用一个编辑器。
- 每年学一门新语言。
- 不要在没有咨询的情况下重写代码。
- 最好的学习方式就是把你所学的教给别人。
07 算法是你最好的朋友
(灵感来自“算法导论”)
由Cormen、Leiserson、Rivest和Stein合著的《算法导论》就像编程书籍中的大爆炸理论—它将复杂的概念分解成易于理解的部分。
应用场景—竞争性编程、效率优化、软件工程、问题解决、系统设计。
关键教训—对算法友好。与算法打成一片就像拥有世界上最好的GPS系统。它可以帮助你找到通往目的地的最有效的路径。
最重要的5个教训:
- 掌握基本的数据结构。
- 理解时间和空间复杂度。
- 学习著名的排序算法。
- 图论并不像听起来那么可怕。
- 动态编程可以成为你的秘密武器。
08 成为Python大师
(灵感来自“Learning Python”)
Mark Lutz的“Learning Python”就像一张通往Python摇滚音乐会的后台通行证,在那里你可以向摇滚明星学习。
应用场景—数据科学、机器学习、web开发、自动化、数据分析。
关键教训—Python是一个强大的工具。就像一把瑞士军刀,Python是万能的,几乎可以在任何编程场景中帮助你。
最重要的5个教训:
- 充分利用Python的简单性。
- 掌握Python强大库的使用。
- 掌握Python的面向对象特性。
- 了解Python在数据分析和机器学习中的应用。
- 使用Python自动化无聊的工作。
09 拥抱测试的艺术
(灵感来自“测试驱动开发”)
Kent Beck的“测试驱动开发”就像是代码的消防演习。它可以帮助你在错误造成严重破坏之前发现并消灭它们。
应用场景—软件质量保证、调试、敏捷开发、持续集成/持续交付(CI/CD)、项目管理。
关键教训—热爱你的测试。就像刷牙可以防止蛀牙一样,编写测试可以防止错误。
最重要的5个教训:
- 理解红色/绿色/重构周期。
- 了解单元测试和集成测试之间的区别。
- 测试不仅仅是为了发现bug。
- 对测试有一定了解。
- 当有疑问时,测试一下!
10 掌握JavaScript的方式
(灵感来自“Eloquent JavaScript”)
Marijn Haverbeke的“Eloquent JavaScript”将带你踏上一段JavaScript之旅。
应用场景—全栈开发、前端开发、后端开发、web应用开发、实时应用。
关键教训—JavaScript无处不在。就像空气一样,它就在你的周围,掌握它就像深呼吸一样令人耳目一新。
最重要的5个教训:
- 理解JavaScript独特的对象模型。
- 掌握DOM。
- 掌握异步编程。
- 了解如何处理JavaScript的“怪癖”。
- 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