Skip to content

Commit

Permalink
进行一些小纠错
Browse files Browse the repository at this point in the history
  • Loading branch information
qiangmzsx committed Jul 17, 2024
1 parent c88ffad commit 086313a
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
8 changes: 4 additions & 4 deletions zh-cn/Afterword.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
# 后记
Software engineering at Google has been an extraordinary experiment in how to develop and maintain a large and evolving codebase. I’ve seen engineering teams break ground on this front during my time here, moving Google forward both as a company that touches billions of users and as a leader in the tech industry. This wouldn’t have been possible without the principles outlined in this book, so I’m very excited to see these pages come to life.

谷歌的软件工程是一个非同寻常的实验,探索如何开发和维护一个庞大且不断演进的代码库。在我在这里的时间里,我见证了工程团队在这方面取得的突破,将谷歌推向了一个既触及数十亿用户又是科技行业领导者的公司。如果没有本书中概述的原则,这将是不可能的,因此我非常兴奋地看到这些内容变为现实。
谷歌的软件工程是一个非凡的实验,探索如何开发和维护一个庞大且不断演进的代码库。在我在这里的时间里,我见证了工程团队在这方面取得的突破,将谷歌推向了一个既触及数十亿用户又是科技行业领导者的公司。如果没有本书中概述的原则,这将是不可能的,因此我非常兴奋地看到这些内容变为现实。

If the past 50 years (or the preceding pages here) have proven anything, it’s that soft‐ ware engineering is far from stagnant. In an environment in which technology is steadily changing, the software engineering function holds a particularly important role within a given organization. Today, software engineering principles aren’t simply about how to effectively run an organization; they’re about how to be a more respon‐ sible company for users and the world at large.

如果说过去的50年(或前面的内容)证明了什么,那就是软件工程远没有停滞不前。在技术不断变化的环境中,软件工程功能在组织中扮演着特别重要的角色。今天,软件工程原则不仅仅是关于如何有效地运行一个组织;他们关注的是如何成为一家对用户和整个世界更负责任的公司。
如果过去的50年(或前面的内容)证明了什么,那就是软件工程远没有停滞不前。在技术不断变化的环境中,软件工程功能在组织中扮演着特别重要的角色。今天,软件工程原则不仅仅是关于如何有效地运行一个组织;他们关注的是如何成为一家对用户和整个世界更负责任的公司。

Solutions to common software engineering problems are not always hidden in plain sight—most require a certain level of resolute agility to identify solutions that will work for current-day problems and also withstand inevitable changes to technical systems. This agility is a common quality of the software engineering teams I’ve had the privilege to work with and learn from since joining Google back in 2008.

解决常见的软件工程问题并非总是显而易见的事情--大多数问题需要一定程度的果断敏捷,以确定能够解决当前问题的解决方案,同时也能承受技术系统不可避免的变化。这种敏捷性是我自2008年加入谷歌以来,有幸与之合作和学习的软件工程团队普遍具备的一种品质。
解决常见的软件工程问题并非总是显而易见的事情--大多数问题需要一定程度的果断敏捷性,以确定能够解决当前问题的解决方案,同时也能承受技术系统不可避免的变化。这种敏捷性是我自2008年加入谷歌以来,有幸与之合作和学习的软件工程团队普遍具备的一种品质。

The idea of sustainability is also central to software engineering. Over a codebase’s expected lifespan, we must be able to react and adapt to changes, be that in product direction, technology platforms, underlying libraries, operating systems, and more. Today, we rely on the principles outlined in this book to achieve crucial flexibility in changing pieces of our software ecosystem.

可持续性的概念对软件工程也至关重要。在代码库的预期生命周期内,我们必须能够对变化做出反应和适应,无论是在产品方向、技术平台、底层库、操作系统还是其他方面。今天,我们依靠本书中概述的原则,在改变软件生态系统的各个部分时实现至关重要的灵活性。

We certainly can’t prove that the ways we’ve found to attain sustainability will work for every organization, but I think it’s important to share these key learnings. Soft‐ ware engineering is a new discipline, so very few organizations have had the chance to achieve both sustainability and scale. By providing this overview of what we’ve seen, as well as the bumps along the way, our hope is to demonstrate the value and feasibility of long-term planning for code health. The passage of time and the impor‐ tance of change cannot be ignored.

我们当然不能证明我们找到的实现可持续发展的方法对每个组织都有效,但我认为分享这些关键的经验很重要。软体工程是一门新的学科,所以很少有组织有机会同时实现可持续性和规模化。通过概述我们所看到的,以及沿途的坎坷,我们希望展示价值和可行性。时间的推移和变化的重要性是不容忽视的。
我们当然不能证明我们找到的实现可持续性的途径对每个组织都有效,但我认为分享这些关键的经验很重要。软体工程是一门新的学科,所以很少有组织有机会同时实现可持续性和规模化。通过概述我们所看到的,以及沿途的坎坷,我们希望展示价值和可行性。时间的推移和变化的重要性是不容忽视的。

This book outlines some of our key guiding principles as they relate to software engi‐ neering. At a high level, it also illuminates the influence of technology on society. As software engineers, it’s our responsibility to ensure that our code is designed with inclusion, equity, and accessibility for everyone. Building for the sole purpose of innovation is no longer acceptable; technology that helps only a set of users isn’t innovative at all.

Expand Down
8 changes: 4 additions & 4 deletions zh-cn/Preface.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,17 @@ The terms “programming” and “software engineering” have been used interc

“Software engineering,” however, sounds more serious, as if it implies the application of some theoretical knowledge to build something real and precise. Mechanical engineers, civil engineers, aeronautical engineers, and those in other engineering disciplines all practice engineering. They all work in the real world and use the application of their theoretical knowledge to create something real. Software engineers also create “something real,” though it is less tangible than the things other engineers create.

然而,"软件工程 "听起来更加严肃,似乎它意味着应用一些理论知识来建立一些真实和精确的东西。机械工程师、土木工程师、航空工程师和其他工程学科的人都在进行工程实践。他们都在现实世界中工作,运用他们的理论知识来创造一些真实的东西。软件工程师也创造 "真实的东西",尽管它没有像其他工程师创造的东西那么有形。
然而,"软件工程 "听起来更加严肃,似乎它意味着应用理论知识来建立真实和精确的东西。机械工程师、土木工程师、航空工程师和其他工程学科的人都在进行工程实践。他们都在现实世界中工作,运用他们的理论知识来创造一些真实的东西。软件工程师也创造 "真实的东西",尽管它没有像其他工程师创造的东西那么有形。

Unlike those more established engineering professions, current software engineering theory or practice is not nearly as rigorous. Aeronautical engineers must follow rigid guidelines and practices, because errors in their calculations can cause real damage; programming, on the whole, has traditionally not followed such rigorous practices. But, as software becomes more integrated into our lives, we must adopt and rely on more rigorous engineering methods. We hope this book helps others see a path toward more reliable software practices.

与那些更成熟的工程专业不同,目前的软件工程理论或实践还没有那么严格。航空工程师必须遵循严格的准则和实践,因为他们的计算错误会造成真正的损失;而编程,总体来说,传统上没有遵循这样严格的实践。但是,随着软件越来越多地融入我们的生活,我们必须采用并依赖更严格的工程方法。我们希望这本书能帮助其他人看到一条通往更可靠的软件实践的道路。
与那些更成熟的工程专业不同,目前的软件工程理论或实践方法还没有那么严格。航空工程师必须遵循严格的准则和实践,因为他们的计算错误会造成真正的损失;而编程,总体来说,传统上没有遵循这样严格的实践。但是,随着软件越来越多地融入我们的生活,我们必须采用并依赖更严格的工程方法。我们希望这本书能帮助其他人看到一条通往更可靠的软件实践的道路。

### Programming Over Time 随时间变化的编程

We propose that “software engineering” encompasses not just the act of writing code, but all of the tools and processes an organization uses to build and maintain that code over time. What practices can a software organization introduce that will best keep its code valuable over the long term? How can engineers make a codebase more sustainable and the software engineering discipline itself more rigorous? We don’t have fundamental answers to these questions, but we hope that Google’s collective experience over the past two decades illuminates possible paths toward finding those answers.

我们建议,"软件工程 "不仅包括编写代码的行为,还包括一个组织用来长期构建和维护代码的所有工具和流程。一个软件组织可以采用哪些做法来使其代码长期保持最佳价值?工程师们如何才能使代码库更具有可持续性,并使软件工程学科本身更加严格?我们没有这些问题的最终答案,但我们希望谷歌在过去20年的集体经验能够为寻找这些答案的提供可能。
我们建议,"软件工程 "不仅包括编写代码的行为,还包括一个组织用来长期构建和随时间维护代码的所有工具和流程。一个软件组织可以采用哪些做法来使其代码长期保持最佳价值?工程师们如何才能使代码库更具有可持续性,并使软件工程学科本身更加严格?我们没有这些问题的最终答案,但我们希望谷歌在过去20年的集体经验能够为寻找这些答案的提供可能。

One key insight we share in this book is that software engineering can be thought of as “programming integrated over time.” What practices can we introduce to our code to make it *sustainable*—able to react to necessary change—over its life cycle, from conception to introduction to maintenance to deprecation?

Expand Down Expand Up @@ -80,7 +80,7 @@ The culture, processes, and tools outlined in this book describe the lessons tha

Neither is this book intended to be a sermon. Google itself still imperfectly applies many of the concepts within these pages. The lessons that we have learned, we learned through our failures: we still make mistakes, implement imperfect solutions, and need to iterate toward improvement. Yet the sheer size of Google’s engineering organization ensures that there is a diversity of solutions for every problem. We hope that this book contains the best of that group.

本书也不打算成为一本布道书。谷歌自身仍在不完善地应用这些书中的许多理念。我们从失败中吸收了教训:我们仍然会犯错误,实施不完美的解决方案,还需要迭代改进。然而,谷歌工程组织的庞大规模确定了每个问题都有多样化的解决方案。我们希望这本书包含了这群人中最好的方案。
本书也不打算成为一本布道书。谷歌自身仍在不完善地应用这些书中的许多理念。我们从失败中吸收了教训:我们仍然会犯错误,采用不完美的解决方案,还需要迭代改进。然而,谷歌工程组织的庞大规模确定了每个问题都有多样化的解决方案。我们希望这本书包含了这群人中最好的方案。

### What This Book Isn’t 本书不适用于哪些

Expand Down

0 comments on commit 086313a

Please sign in to comment.