Software Engineering at Google: Lessons Learned from Programming Over Time (Paperback)
暫譯: 谷歌的軟體工程:隨時間演變的程式設計經驗教訓 (平裝本)
Winters, Titus, Manshreck, Tom, Wright, Hyrum
- 出版商: O'Reilly
- 出版日期: 2020-04-07
- 定價: $2,360
- 售價: 8.0 折 $1,888
- 語言: 英文
- 頁數: 583
- 裝訂: Quality Paper - also called trade paper
- ISBN: 1492082791
- ISBN-13: 9781492082798
-
相關分類:
軟體工程
-
相關翻譯:
Google軟件工程 (簡中版)
Google 的軟體工程之道|從程式設計經驗中吸取教訓 (Software Engineering at Google) (繁中版)
立即出貨 (庫存 < 4)
買這商品的人也買了...
-
$940$700 -
$650$507 -
$1,935Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems (Paperback)
-
$790$616 -
$1,352Linear Algebra and Its Applications, 4/e
-
$900$855 -
$580$452 -
$580$493 -
$2,224Building Microservices: Designing Fine-Grained Systems, 2/e (Paperback)
-
$2,240Fundamentals of Software Architecture: A Comprehensive Guide to Patterns, Characteristics, and Best Practices (Paperback)
-
$1,710Clean Agile : Back to Basics (Paperback)
-
$580$458 -
$780$663 -
$1,700$1,615 -
$2,660Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software, 2/e (Paperback)
-
$480$379 -
$1,663Continuous Architecture in Practice: Software Architecture in the Age of Agility and Devops (Paperback)
-
$600$468 -
$580$493 -
$1,872Clean Craftsmanship: Disciplines, Standards, and Ethics (Paperback)
-
$2,200Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures (Paperback)
-
$1,640Building Micro-Frontends: Scaling Teams and Projects Empowering Developers
-
$1,500$1,425 -
$1,710System Design Interview – An Insider's Guide: Volume 2 (Paperback)
-
$2,457Reliable Machine Learning: Applying Sre Principles to ML in Production (Paperback)
相關主題
商品描述
How do you manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum K. Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the world's leading practitioners construct and maintain software.
At Google, software engineering represents roughly 80-90% of the work, while only 10-20% of the time involves original programming. Most teaching on this subject concentrates on programming, but little on software engineering. By emphasizing three fundamental principles that software organizations should keep in mind when designing, architecting, and writing code, this book explains:
- Fundamental differences between software engineering and programming
- The software engineering lifecycle from code development to testing to deprecation
- How to effectively manage your codebase and efficiently respond to change
- Why culture is important, and how processes, practices, and tools come into play
- Tradeoffs: how an organization makes optimal software decisions by keeping time and scale in mind
商品描述(中文翻譯)
如何管理一個隨著需求和要求變化而不斷演變的活躍代碼庫?根據他們在 Google 的經驗,軟體工程師 Titus Winters 和 Hyrum K. Wright,以及技術作家 Tom Manshreck,提供了一個坦率且深刻的視角,探討世界上一些領先的實踐者如何構建和維護軟體。
在 Google,軟體工程大約佔工作量的 80-90%,而只有 10-20% 的時間用於原始編程。大多數關於這個主題的教學集中在編程上,但對於軟體工程的探討則相對較少。這本書強調了軟體組織在設計、架構和編寫代碼時應該記住的三個基本原則,並解釋了:
- 軟體工程與編程之間的基本差異
- 從代碼開發到測試再到棄用的軟體工程生命周期
- 如何有效管理您的代碼庫並高效應對變化
- 為什麼文化很重要,以及流程、實踐和工具如何發揮作用
- 取捨:組織如何在考慮時間和規模的情況下做出最佳的軟體決策
作者簡介
Titus Winters is a Senior Staff Software Engineer at Google, where he has worked since 2010. Today, he is the chair of the global subcommittee for the design of the C++ standard library. At Google, he is the library lead for Google's C++ codebase: 250 million lines of code that will be edited by 12K distinct engineers in a month. For the last 7 years, Titus and his teams have been organizing, maintaining, and evolving the foundational components of Google's C++ codebase using modern automation and tooling. Along the way he has started several Google projects that believed to be in the top 10 largest refactorings in human history. As a direct result of helping to build out refactoring tooling and automation, Titus has encountered first-hand a huge swath of the shortcuts that engineers and programmers may take to "just get something working". That unique scale and perspective has informed all of his thinking on the care and feeding of software systems.
Tom Manshreck is a Staff Technical Writer within Software Engineering at Google since 2005, responsible for developing and maintaining many of Google's core programming guides in infrastructure and language. Since 2011, he has been a member of Google's C++ Library Team, developing Google's C++ documentation set, launching (with Titus Winters) Google's C++ training classes, and documenting Abseil, Google's open source C++ code. Tom holds a BS in Political Science and a BS in History from the Massachusetts Institute of Technology. Before Google, Tom worked as a Managing Editor at Pearson/Prentice Hall and various startups.
Hyrum K. Wright is a Staff Software Engineer at Google, where he has worked since 2012, mainly in the areas of large-scale maintenance of Google's C++ codebase. Hyrum has made more individual edits to Google's codebase than any other engineer in the history of the company. He is a member of the Apache Software and an occasional visiting faculty member at Carnegie Mellon University. Hyrum received a PhD in Software Engineering from the University of Texas at Austin, and also holds an MS from the University of Texas and a BS from Brigham Young University. He is an active speaker at conferences and contributor to the academic literature on software maintenance and evolution.
作者簡介(中文翻譯)
Titus Winters 是 Google 的高級員工軟體工程師,自 2010 年以來一直在該公司工作。如今,他是全球 C++ 標準庫設計小組的主席。在 Google,他負責 Google 的 C++ 代碼庫,該代碼庫擁有 2.5 億行代碼,每月將由 12,000 名不同的工程師進行編輯。在過去的 7 年中,Titus 和他的團隊一直在組織、維護和發展 Google 的 C++ 代碼庫的基礎組件,並使用現代自動化和工具。在此過程中,他啟動了幾個 Google 項目,這些項目被認為是人類歷史上最大的 10 次重構之一。由於幫助建立重構工具和自動化,Titus 親身經歷了工程師和程式設計師為了「讓某些東西運作」而可能採取的各種捷徑。這種獨特的規模和視角影響了他對軟體系統的維護和管理的所有思考。
Tom Manshreck 自 2005 年以來一直是 Google 軟體工程部的技術寫作員,負責開發和維護許多 Google 核心編程指南,涵蓋基礎設施和語言。自 2011 年以來,他成為 Google C++ 庫團隊的成員,負責開發 Google 的 C++ 文檔集,與 Titus Winters 一起啟動 Google 的 C++ 培訓課程,並記錄 Abseil,Google 的開源 C++ 代碼。Tom 擁有麻省理工學院的政治學學士學位和歷史學士學位。在加入 Google 之前,Tom 曾在 Pearson/Prentice Hall 擔任總編輯,並在多家初創公司工作。
Hyrum K. Wright 是 Google 的員工軟體工程師,自 2012 年以來一直在該公司工作,主要負責 Google C++ 代碼庫的大規模維護。Hyrum 對 Google 的代碼庫進行的個別編輯次數超過了公司歷史上任何其他工程師。他是 Apache Software 的成員,並且偶爾擔任卡內基梅隆大學的訪問教員。Hyrum 在德克薩斯大學奧斯汀分校獲得了軟體工程博士學位,並且還擁有德克薩斯大學的碩士學位和楊百翰大學的學士學位。他是會議的活躍演講者,並為有關軟體維護和演變的學術文獻做出貢獻。