作者: | Gregory T. Brown |
语言: | 英文 |
出版年份: | 2016 |
下载链接: |
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。 |
《Programming Beyond Practices》是由 Gregory T. Brown 撰写的软件开发书籍,于 2016 年 10 月由 O’Reilly Media 出版。本书并非传统意义上的编程教材,而是一本通过一系列短篇故事来引导读者深入思考软件开发实践的书籍。作者通过这些故事,鼓励读者在软件开发过程中超越传统的编程实践,培养更全面的思维方式和解决问题的能力。
Gregory T. Brown 是 Practicing Ruby 期刊的创始人,也是 Prawn PDF 生成库的原作者。他专注于通过最少的代码解决核心业务问题,并通过本书分享了他在软件开发实践中超越传统编程实践的经验和见解。
全书共分为 8 章,每章围绕一个特定的软件开发主题展开,通过虚构的故事场景,让读者在解决问题的过程中学习到关键的开发理念和技巧。
本章通过开发一个音乐视频推荐系统的故事,介绍了如何通过快速原型开发来探索项目想法。强调了理解客户需求、使用线框图设定功能预期、快速搭建可运行的测试系统以及如何通过限制工作范围来降低复杂性。
通过在现有知识库中集成公共维基功能的故事,探讨了在对生产代码库进行增量扩展时可能出现的问题,如基础设施级别的依赖关系、数据层的隐藏依赖以及如何避免非必要的实时数据同步。
本章以维护一个教育期刊的软件为例,讨论了第三方服务集成可能带来的问题,包括服务变更或停用、测试中的过时模拟对象以及如何应对外部服务的不可靠性。
通过指导新手开发者 Emma 解决编程难题的故事,介绍了如何通过收集事实、手动处理问题、验证输入数据以及利用演绎推理来检查工作,从而系统地解决复杂问题。
本章通过构建一个模拟即时生产工作流的软件的故事,展示了自底向上设计软件的方法,包括识别问题空间中的名词和动词、逐步实现最小功能切片、避免对象之间的不必要时间耦合以及逐步提取可重用部分和协议。
以替换一个过时的时间跟踪应用为例,讨论了如何通过解耦概念模型和物理模型、设计显式的数据变更跟踪模型以及理解 Conway’s Law 对数据管理实践的影响,来改进数据模型和工作流程。
通过帮助一家初创公司 TagSail 解决成长中的技术问题,介绍了如何通过快速响应意外故障、分析运营瓶颈、关注工作经济权衡以及限制在制品来减少浪费。
作者展望了软件开发的未来,想象了一个机器完成大部分编码工作的世界,程序员更多地专注于解决问题和沟通,而非编写代码。
《Programming Beyond Practices》适合所有希望提升软件开发能力、培养系统思维和解决问题能力的开发者阅读。