The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:
很常见 新加入我们项目的程序员会问我们是否有自动格式化工具,以使Java代码看起来与Qulice的期望完全一样。(Qulice是我们使用的静态分析器。)我总是回答说,拥有这样的自动化代码整理工具只会有害,不会帮助项目及其成员改进和成长。以下是我这样认为的原因。
静态分析,以我们与只读主分支相结合的方式,是对您的拉取请求进行全自动、毫不妥协的审查,主要用于发现代码格式错误。假设我们希望整个代码库中的Java代码看起来像这样:
然而,您将其作为一个更大的任务进行重构,并像这样提交一个拉取请求:
对于你们中的一些人来说,这可能看起来并不是一个很大的区别,因为这两个代码片段都可以编译并且以完全相同的方式工作。然而,对于我们这些仓库的维护者来说,这是很重要的。我们确实希望我们的类始终是final
的,我们希望它们是不可变的(因此所有属性也应该是final
的),我们希望在所有属性引用之前都加上this.
,而且我们希望代码的格式相同,因为我们相信代码的统一性会严重增加其可维护性。
当然,我们可以创建一个工具,你可以使用它来重新格式化代码,使其看起来符合我们的要求。但在那种情况下,你将永远不会了解项目对你的要求以及原因。
你将不会了解我们规则背后的原因。你永远不会思考它们。你不会真正关心它们。但它们不仅仅涉及空格和括号的格式。在Qulice中有900多个这样的规则,其中一些是专门为我们所宣扬的面向对象哲学而设计的。
因此,简单地说,我们不希望你轻易通过静态分析阶段。我们希望你为了学习而受苦。
Translated by ChatGPT gpt-3.5-turbo/42 on 2023-11-17 at 17:17