# :yum: 初级开发者

## :innocent: 动机和经验

- [罗伯特·马丁 - 代码整洁之道](https://book.douban.com/subject/4199741/)

    Uncle Bob 分享了他在 IT 行业中如何“生存”并取得成功的建议。这本书不仅涉及技术技能，还介绍了心理挑战以及应对它们的方法。

- [罗伯特·马丁 - 整洁代码：可持续软件的艺术](https://book.douban.com/subject/3032825/)

    尽管你可能会遇到关于这本书的批评，但我们仍然认为它可以成为新开发人员短期内有价值的资源。该书收集了一系列有效技巧，可以帮助您编写结构良好、易读、易于维护的代码。然而，重要的是不要将此书视为圣经，并避免将其变成“货物崇拜”。相反，请明智地使用这些知识，并选择最适合您需求并改善您编码风格的技术。

- [史蒂夫·麦康奈尔 - 代码大全（第 2 版）](https://book.douban.com/subject/1477390/)

    尽管年代久远，但该书仍可被视为开发人员的“圣经”，因为它提供了 IT 行业全面概述。它提供了大量实用建议，告诉你如何成长和发展成顶尖专业人士。

## :bar_chart: 计算机科学

- [Thomas H. Cormen - 算法导论（原书第 3 版）](https://book.douban.com/subject/20432061/)

    这本书是《图解算法》很好地跟进材料。深入探讨常见排序算法和列表操作等内容，并提供更深入信息。文体平易近人友好。阅读此书有助于准备自己深入研究算法领域。

## :pencil: C++

- [Scott Meyers - Effective C++：改善程序与设计 55 个具体做法（第三版）](https://book.douban.com/subject/25953851/)

    这本书是 C++ 基础知识方面最佳教程手册之一。虽然它涵盖 C++03 特性，但所提供信息依旧有价值且相关性强。该指南中所列出来推荐都非常适用于最新标准版本。

- [Jason Turner - C++ 最佳实践：45 个简单规则和具体行动项目，以获得更好的 C++](https://www.amazon.com/Best-Practices-Simple-Specific-Action/dp/B08SJSZKJ5)

    这是一份针对经验不足的 C++ 开发人员的技巧汇编，重点放在最常见的错误上。解释简洁明了。大多数提示包括指向其他资源的链接。由于该书没有对每条建议进行彻底检查，因此建议将来深入研究每一个建议，以真正理解它们背后的原因。

- [Herb Sutter, Andrei Alexandrescu - C++ 编程规范：101 条规则、准则与最佳实践](https://book.douban.com/subject/26899830/)

    这本小书概述了商业项目中编写代码的常见最佳实践。这是从各种公司收集到的经验总结。这本书也是[C++ 核心准则](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines) 的基础之一。建议先阅读本书再访问 C++ 核心准则网站。它将为您提供有关项目中使用代码指南的第一印象。阅读完本书后，您可以访问 C++ 核心准则网站获取最新批准方法。

## :electric_plug: 硬技能

- [Eric Freeman, Elisabeth Robson - Head First 设计模式：面向对象设计基础（中文版）](https://book.douban.com/subject/2243615/)

    该书是学习设计模式的完美起点。另外一个选择是[refactoring.guru](https://refactoring.guru/design-patterns)，但如果使用这本书，则可以进行大量练习，帮助您更好地理解常见设计模式思想。

- [Sanjay Madhav, Josh Glazer - 网络多人游戏架构与编程](https://book.douban.com/subject/27135506/)

    该书是网络理论方面出色介绍，并通过视频游戏示例解释网络基础知识。它将帮助你编写第一个可通过网络工作应用程序，并且你会获得与在 C++ 中处理网络相关问题方面有关联系方面实际经验。该书中所有示例都使用 C++11 /14 编写。

---

[**返回**](Overview.md) | [**回到主页**](../README.md)