کنکور کامپیوتر
0
ورود | ثبت نام
کتاب مهندسی نرم افزار در گوگل

کتاب مهندسی نرم افزار در گوگل

نویسنده : Hyrum Wright , Titus Winters , Tom Manshreck
617 صفحه
دانلود کتاب (free download)
English Title : Software Engineering at Google: Lessons Learned from Programming Over Time 1st Edition
عنوان فارسی : کتاب مهندسی نرم افزار در گوگل

Description

Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering.

How can software engineers 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 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. This book covers Google’s unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization.

You’ll explore three fundamental principles that software organizations should keep in mind when designing, architecting, writing, and maintaining code:

  • How time affects the sustainability of software and how to make your code resilient over time
  • How scale affects the viability of software practices within an engineering organization
  • What trade-offs a typical engineer needs to make when evaluating design and development decisions.

Table of contents

What Is Software Engineering?
How to Work Well on Teams
Knowledge Sharing
Engineering for Equity
How to Lead a Team
Leading at Scale
Measuring Engineering Productivity
Style Guides and Rules
Code Review
Documentation
Testing Overview
Unit Testing
Test Doubles
Larger Testing
Deprecation
Version Control and Branch Management
Code Search
Build Systems and Build Philosophy
Critique: Google’s Code Review Tool
Static Analysis
Dependency Management
Large-Scale Changes
Continuous Integration
Continuous Delivery
Compute Service
امتیازدهی 1 1 1 1 1 1 1 1 1 10.00 امتیاز (0 رای)
Hyrum Wright

Hyrum Wright

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

Titus Winters

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

Tom Manshreck

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.
تلگرام اینستاگرام