【请不要尝试简化这些代码!保持航天飞机风格】weibo.com

今天 Hacker News 上有个热帖,讨论开源项目 Kubernetes(简称 K8s ) 的 pv_controller.go 源码中,标题这句话写了两遍。

为啥强调两遍,K8s 他们还特意解释了。

这个控制器故意以一种非常冗长的风格编写。你会发现:

1、每个 if 语句都有一个匹配的 else 语句(检查客户端 API 调用的简单错误除外);

2、有很多被显式地注释的东西;

我们把这种风格叫做“航天飞机风格”。航天飞机的风格意味着,要确保每个分支和条件都得到考虑和说明。NASA 为航天飞机等应用程序编写的代码也是如此。

最初,这个控制器的工作被分成三个控制器。控制器是努力简化 PV 子系统的成果。在此过程中,我们要确保在代码中处理和解释了每一个条件,即使这会导致无 op 代码分支。

因此,控制器代码可能看起来过于冗长、注释过多和“分支”。但是,这里记录了大量的业务知识和上下文,以便确保未来的维护者能够正确地推断绑定行为的复杂性。因此,对这个文件的修改,应该保留并增加航天飞机的风格。
展开
程序员趣事于2018-12-28 09:09发布的图片
2