feat(sreweekly): 补入 431 篇中文译文与 534 期 html,新增翻译队列脚本并更新 manifest
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
# 抽象与隐式前置条件
|
||||
|
||||
- **期号**: SRE Weekly Issue #239(2020-10-11)
|
||||
- **作者**: Lorin Hochstein
|
||||
- **链接**: https://surfingcomplexity.blog/2020/08/09/abstractions-and-implicit-preconditions/
|
||||
|
||||
## 简介
|
||||
|
||||
> 抽象让我们更高效,而且事实上,没有抽象,我们人类根本无法构建复杂系统。但我们必须在出问题时能够剥开层层抽象,去发现那个被违反的隐式前置条件。
|
||||
|
||||
## 正文
|
||||
|
||||
Joel Spolsky 最让我喜欢的一篇文章是[《泄漏抽象法则》](https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions/)(The Law of Leaky Abstractions)。他把这条法则表述为:
|
||||
|
||||
所有非平凡的抽象,在某种程度上都是有漏洞的。
|
||||
|
||||
抽象面临的挑战之一在于它们依赖于*前置条件*(preconditions):抽象要想成立,外部世界必须处于某种特定状态。有时抽象的消费者明确知道这个前置条件,但有时他们并不知道。毕竟,抽象的好处就在于它隐藏信息。NFS 让用户无需了解网络细节就能访问远程存储的文件——除非出现某种网络问题,用户就会被搞得完全摸不着头脑。不需要了解 NFS 工作原理的好处,就这样变成了一种负担。
|
||||
|
||||
*隐式前置条件*的问题在复杂系统中无处不在。我们无时无刻不在消费那些带有一整套前置条件的抽象,这些条件必须成立,抽象才能正确工作。去戳一个事故,你几乎总能发现一个隐式前置条件。一些我们甚至都不知道的事,一些必须始终成立的事,一些一直成立着的事——直到现在。
|
||||
|
||||
抽象让我们更高效,而且事实上,没有抽象,我们人类根本无法构建复杂系统。但我们必须在出问题时能够剥开层层抽象,去发现那个被违反的隐式前置条件。
|
||||
|
||||
## 关于《抽象与隐式前置条件》的一则评论
|
||||
Reference in New Issue
Block a user