默认构造函数是善还是恶?Checkstyle 和 PMD 在这里是相反的 [已关闭]

2022-09-05 00:24:20

检查样式 说:

Class should define a constructor.

PMD 说:

Avoid unnecessary constructors - the compiler will generate these for you.

谁是对的?或者让我们这样说 - 在类中使用空的默认ctor的优缺点是什么?


答案 1

我喜欢PMD的答案。代码越少越好。不要编写编译器将为您编写的构造函数。

我的印象是,编写构造函数的主要论点是,一些不了解构造函数在Java中如何工作的可怜的程序员可能会绊倒你的代码并感到困惑。我不喜欢编写不必要的晦涩难懂的代码,但我也不喜欢编写愚蠢的代码。

但这是我的痴迷,可能是不合理的。有一个应用程序程序员的世界,他们的核心重点是业务,而不是语言,他们不是语言专家。很多人使用的生存技巧就是要有一致的风格,是否绝对必要不是重点。


答案 2

与许多“有争议”的决定一样,事实是,这真的没那么重要。编写构造函数或不编写构造函数。对代码的质量和可维护性的影响可以忽略不计。如果您与其他人一起编码,那么为了保持一致性,请采用相同的样式,但除此之外 - 做任何您喜欢的事情。


推荐