The Pragmatic Programmer (20th Anniversary Edition) - David Thomas, Andrew Hunt

The Pragmatic Programmer (20th Anniversary Edition)

David Thomas, Andrew Hunt

出版时间

2019-09-23

ISBN

9780135957059

评分

★★★★★
书籍介绍
“One of the most significant books in my life.” —Obie Fernandez, Author, The Rails Way “Twenty years ago, the first edition of The Pragmatic Programmer completely changed the trajectory of my career. This new edition could do the same for yours.” —Mike Cohn, Author of Succeeding with Agile, Agile Estimating and Planning, and User Stories Applied “. . . filled with practical advice, both technical and professional, that will serve you and your projects well for years to come.” —Andrea Goulet, CEO, Corgibytes, Founder, LegacyCode.Rocks “. . . lightning does strike twice, and this book is proof.” —VM (Vicky) Brasseur, Director of Open Source Strategy, Juniper Networks The Pragmatic Programmer is one of those rare tech books you’ll read, re-read, and read again over the years. Whether you’re new to the field or an experienced practitioner, you’ll come away with fresh insights each and every time. Dave Thomas and Andy Hunt wrote the first edition of this influential book in 1999 to help their clients create better software and rediscover the joy of coding. These lessons have helped a generation of programmers examine the very essence of software development, independent of any particular language, framework, or methodology, and the Pragmatic philosophy has spawned hundreds of books, screencasts, and audio books, as well as thousands of careers and success stories. Now, twenty years later, this new edition re-examines what it means to be a modern programmer. Topics range from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you’ll learn how to: Fight software rot Learn continuously Avoid the trap of duplicating knowledge Write flexible, dynamic, and adaptable code Harness the power of basic tools Avoid programming by coincidence Learn real requirements Solve the underlying problems of concurrent code Guard against security vulnerabilities Build teams of Pragmatic Programmers Take responsibility for your work and career Test ruthlessly and effectively, including property-based testing Implement the Pragmatic Starter Kit Delight your users Written as a series of self-contained sections and filled with classic and fresh anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best approaches and major pitfalls of many different aspects of software development. Whether you’re a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you’ll quickly see improvements in personal productivity, accuracy, and job satisfaction. You’ll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You’ll become a Pragmatic Programmer. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
AI导读
核心看点
  • 二十年纪念版,涵盖从代码规范到职业发展的全方位建议
  • 提出正交性、早崩溃、破窗户等经典软件工程原则
  • 强调态度与思维转变,旨在培养靠谱且高效的程序员
适合谁读
  • 希望提升职业素养与工程思维的初级至中级程序员
  • 寻求从编码员向技术专家或管理者转型的技术人员
  • 对软件工程最佳实践与团队协作感兴趣的从业者
读前提醒
  • 内容偏重理念与心法,缺乏具体技术细节,需结合实践
  • 部分观点被指像商业话术,建议跳读,关注核心原则
  • 道理通俗易懂但知易行难,建议反复阅读并做笔记内化
读者共识
  • 被誉为程序员必读经典,对职业生涯轨迹有深远影响
  • 语言通俗可读,但部分读者认为内容杂而不精或理想化
  • 虽多为常识性大道理,但系统总结极具价值,值得重读

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "项目团队 你是否注意到,一些项目团队非常高效,每个人都知道该做什么,并做出了充分的贡献;而其他一些团队的成员却总是争吵不休,似乎无法相互谦让? 通常这就是一个正交性问题。当团队组织重复到架屋迭床时,成员会对职责感到困惑。每修改一个东西都需要整个团队开会,因为修改会影响每个人。 如何将团队组织成职责明确、重叠最少的不同小组?没有简单的答案。这一定程度上取决于具体项目,以及你对可能发生变化区域的分析;同时还取决于你能调用的人手。我们的首选做法是,先将基础设施从应用程序中分离出来,让每个主要的基础设施组件(数据库、通信接口、中间件层等)都有自己的子团队,让应用程序中特别明显的不同功能都能简单地分开。"
  • "要把低级的知识放在代码中,把注释留给高级的知识。"
  • "早崩溃"
  • "不要做历史的奴隶,不要让已有的代码支配将来的代码,如果不再适用,所有的代码都可被替换"
  • "1. 不要试图在重构的同时增加功能 2. 在开始重构之前,确保你拥有良好的测试。尽可能进场运行这些测试。这样,如果你的改动破坏了任何东西,你就能很快知道 3. 采取短小、深思熟虑的步骤。如果你的步骤保持短小,并在每个步骤之后进行测试,你将能够避免长时间的调试 完美,不是在没有什么需要增加,而是在没有什么需要去掉时达到的 需求不是架构,需求不是设计,也不是用户界面,需求是需要"
  • "提供各种选择,不要找蹩脚的借口"
  • "“不要容忍破窗户”"
  • "”做变化的催化剂”"
作者简介
Dave Thomas and Andy Hunt are internationally recognized as leading voices in the software development community. They consult and speak around the world. Together, they founded the Pragmatic Bookshelf, publishing award-winning, leading-edge books for software developers. They were two of the authors of the Agile Manifesto. Dave currently teaches college, turns wood, and plays with new technology and paradigms. Andy writes science fiction, is an active musician, and loves to tinker with technology. But, most of all, they’re both driven to keep learning.
用户评论
前三章有很多非常好的内容,非常值得一读。但往后就太像商业的话术了,零星的内容加上(至少今天来看的)常识被各种方式重新转述,很快就失去了阅读的耐心。
pages of nonsense. 这一行门槛低的本质在于普遍工作其实就相当于工人干活,只不过包装得漂亮一些。
听完了,感觉这些道理大家可能都懂,但是很少有人总结出来。
垫显示屏首选的书出第二版啦,Performance review/peer review 的时候特别有用😅
没读过第一版,但也听说过其中的一些观点。在工作之后偶尔读完了第二版,对某些也深有体会。其中讲到了一些心态,或者说态度问题:不能逃避现实,要积极的解决问题。同时,也要明白不存在完美的软件,但可以用经验,迭代,测试提升软件的质量。用建筑高楼比喻软件工程是不恰当的,而用园艺比喻更加贴切:需要规划,种植,随着时间推移,一些花朵植被衰退(软件的一些功能被deprecated),一些新的花朵被引进(新功能),移动一些花朵获得更多养分和阳光(重构)。我自己在写个人项目的时候很难有这些体会,但工作了也逐渐明白了一点,推荐给刚入职的程序员阅读。
讲了很多大道理,但例子不足
摸鱼时翻完的,很多建议都很不错。
我的技术灵魂升华了
This book discusses philosophies and methodologies of being a pragmatic programmer. Each chapter covers one interesting topic, for example, why pragmatic? How to be pragmatic? Etc. It provides me some new angles and mindsets of understanding my role as a software engineer, which I value very much. I'm excited to try its tips in practice.
收藏