编程专家的97条经验分享:提升你的软件工程技艺
![](https://csdnimg.cn/release/wenkucmsfe/public/img/star.98a08eaa.png)
"《程序员应该知道的97件事》是一本集合了众多业内专家经验的书籍,涵盖了程序员在软件工程各个阶段可能遇到的问题和解决策略。本书由Kevlin Henney编辑,包括了如Uncle Bob Martin、Scott Meyers等知名程序员的见解,涉及领域广泛,如用户需求、系统分析设计、编码实践、代码风格、Bug管理以及项目管理等。内容以短小精悍的建议形式呈现,鼓励程序员不断学习新语言、新思维方式,提高自身技能,成为全面的编程专家。" 以下是对书中的部分知识点的详细解释: 1. **Act with Prudence**(审慎行事):在编程时,应谨慎对待每一个决策,考虑其长期影响,避免仓促行事。 2. **Apply Functional Programming Principles**(应用函数式编程原则):学习并运用函数式编程思想,提高代码的可读性和可维护性,减少副作用。 3. **Code Is Design**(代码即设计):代码不仅是实现功能,更是体现设计思路,因此要注重代码结构和组织。 4. **Don't Repeat Yourself (DRY)**(不要重复自己):遵循DRY原则,避免代码冗余,确保代码的可维护性。 5. **The Boy Scout Rule**(童子军规则):每次修改代码时,都要让代码变得比原来更好,即使只是微小的改进。 6. **Continuous Learning**(持续学习):程序员应始终保持学习状态,不断掌握新的技术和工具。 7. **Domain-Specific Languages (DSLs)**(领域特定语言):了解并使用DSL可以提高代码的表达力,使代码更贴近业务逻辑。 8. **Don't Be Afraid to Break Things**(勇于尝试):在探索新方法时,不要害怕打破常规,勇于试验。 9. **Code Reviews**(代码审查):通过代码审查来提升团队代码质量,发现潜在问题。 10. **Pair Programming and Feel the Flow**(结对编程):结对编程能促进交流,提高代码质量,增强团队合作。 11. **Put Everything Under Version Control**(所有内容都应置于版本控制之下):使用版本控制系统如Git来管理代码,便于跟踪变更和协同工作。 12. **Prevent Errors**(预防错误):通过设计和编码策略,尽可能在早期发现和预防错误,而非后期修复。 13. **Learn to Estimate**(学会估算):学习如何准确估算项目时间和复杂度,以提高项目管理能力。 14. **Learn to Say, "Hello, World"**(学习打印“Hello, World”):从简单的程序开始,掌握新语言的基础。 15. **Read Code**(阅读代码):通过阅读他人的代码,学习新的编程技巧和最佳实践。 16. **Read the Humanities**(阅读人文学科):理解人文背景可以帮助程序员更好地理解用户需求,提升软件的人性化设计。 17. **Resist the Temptation of the Singleton Pattern**(抵制单例模式的诱惑):虽然单例模式有时看似方便,但过度使用可能导致代码难以测试和维护。 18. **Make Interfaces Easy to Use Correctly and Hard to Use Incorrectly**(使接口易于正确使用,难以错误使用):良好的接口设计应该引导用户做出正确的选择,避免误操作。 19. **Large, Interconnected Data Belongs to a Database**(大型、相互关联的数据应存放在数据库中):正确处理数据存储,避免过度依赖内存或文件系统。 20. **Learn Foreign Languages**(学习外语):掌握其他编程语言可以拓宽视野,提高问题解决能力。 以上是书中部分知识点的详细解读,全书包含97个这样的小建议,每个都是专家们的经验结晶,对于不同层次的程序员都有很大的启发和帮助。通过学习和实践这些知识,程序员可以不断提升自己的专业素养,成为一个更优秀的开发者。
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![tar](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![tar](https://img-home.csdnimg.cn/images/20210720083646.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://profile-avatar.csdnimg.cn/576e6fa6208a454da321b31c6b376052_johnllon.jpg!1)
- 粉丝: 284
- 资源: 162
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 计算机人脸表情动画技术发展综述
- 关系数据库的关键字搜索技术综述:模型、架构与未来趋势
- 迭代自适应逆滤波在语音情感识别中的应用
- 概念知识树在旅游领域智能分析中的应用
- 构建is-a层次与OWL本体集成:理论与算法
- 基于语义元的相似度计算方法研究:改进与有效性验证
- 网格梯度多密度聚类算法:去噪与高效聚类
- 网格服务工作流动态调度算法PGSWA研究
- 突发事件连锁反应网络模型与应急预警分析
- BA网络上的病毒营销与网站推广仿真研究
- 离散HSMM故障预测模型:有效提升系统状态预测
- 煤矿安全评价:信息融合与可拓理论的应用
- 多维度Petri网工作流模型MD_WFN:统一建模与应用研究
- 面向过程追踪的知识安全描述方法
- 基于收益的软件过程资源调度优化策略
- 多核环境下基于数据流Java的Web服务器优化实现提升性能
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)