Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在任意团队中使用代码格式化程序模板有意义吗?_Java_Eclipse_Coding Style_Formatting - Fatal编程技术网

Java 在任意团队中使用代码格式化程序模板有意义吗?

Java 在任意团队中使用代码格式化程序模板有意义吗?,java,eclipse,coding-style,formatting,Java,Eclipse,Coding Style,Formatting,我正在从事一个Java项目,团队中大约有十名开发人员。我们都使用Eclipse作为IDE 为了使源代码在团队中的风格更加一致,我想知道使用代码格式化程序模板是否有意义?我的意思是,在签入代码之前,唯一一件事就是在Eclipse中使用代码格式化程序 一般来说,我知道团队将受益于一致的代码风格。问题是——它是否应该作为一个强制规则工作?也许它太硬了 示例1:模板强制最大线宽为80。但是如果一些线被分成许多线,那就很难看了。当然,我知道80是可配置的 示例2:Eclipse格式化的代码: int gr

我正在从事一个Java项目,团队中大约有十名开发人员。我们都使用Eclipse作为IDE

为了使源代码在团队中的风格更加一致,我想知道使用代码格式化程序模板是否有意义?我的意思是,在签入代码之前,唯一一件事就是在Eclipse中使用代码格式化程序

一般来说,我知道团队将受益于一致的代码风格。问题是——它是否应该作为一个强制规则工作?也许它太硬了

示例1:模板强制最大线宽为80。但是如果一些线被分成许多线,那就很难看了。当然,我知道80是可配置的

示例2:Eclipse格式化的代码:

int green = 1;
int red = 1;
int orange = 1;
我的首选代码:

int green  = 1;
int red    = 1;
int orange = 1;

所以我的意见是使用代码模板,而不是僵化,违反模板是允许的和必要的。您对此有何看法?

我宁愿创建一个文档来汇编规则,并让每个人都阅读它。 规则会被打破,而且您并不总是希望代码格式化程序自动为您完成工作(在我的例子中,这通常发生在多行if语句中)

而且,因为您不会始终应用编码标准,每次有人使用自动格式化程序时,他/她都会对您的git/svn/cvs造成严重破坏,更改行,而实际上没有更改


所以我的建议是——不要使用自动格式化,说服/学习/强迫人们编写可读的代码。而且还要进行代码审查

我宁愿创建一个集合规则的文档,让每个人都阅读它。 规则会被打破,而且您并不总是希望代码格式化程序自动为您完成工作(在我的例子中,这通常发生在多行if语句中)

而且,因为您不会始终应用编码标准,每次有人使用自动格式化程序时,他/她都会对您的git/svn/cvs造成严重破坏,更改行,而实际上没有更改

所以我的建议是——不要使用自动格式化,说服/学习/强迫人们编写可读的代码。而且还要进行代码审查

我们使用的是,在中配置(以帮助开发人员编写代码),并作为一种自动验证和报告的工具。它检查(它们是事实上的标准)和其他良好实践。每个人都知道规则,并且可以应用一些与约定相匹配的小型自动格式化提示(例如,间距…)。我们还进行代码审查

在大多数情况下,我会尽量避免考虑个人意见,因为这只会导致开发团队中的激烈竞争。例如,在您的示例2中,Eclipse应用了“标准”格式,因此我不会因为有人认为它更容易理解而尝试使用另一种格式

我认为这有几个优点:

  • 从“集体代码所有权”的角度来看,所有代码似乎都是由同一个人编写的
  • 在不同的项目之间移动开发人员更容易
  • 代码更易于阅读和维护
  • 不管是否有人喜欢其他IDE
对于新项目,一旦您使用Maven进行了自动checkstyle验证,我认为进行严格的验证是一个好主意。也就是说,将代码样式错误视为编译错误(而不仅仅是警告),如果代码样式无效,则生成将被破坏。它在开始时需要一点规范,但最终会导致更高的代码质量。

我们使用的是,在中配置(以帮助开发人员编写代码)并作为自动验证和报告的工具。它检查(它们是事实上的标准)和其他良好实践。每个人都知道规则,并且可以应用一些与约定相匹配的小型自动格式化提示(例如,间距…)。我们还进行代码审查

在大多数情况下,我会尽量避免考虑个人意见,因为这只会导致开发团队中的激烈竞争。例如,在您的示例2中,Eclipse应用了“标准”格式,因此我不会因为有人认为它更容易理解而尝试使用另一种格式

我认为这有几个优点:

  • 从“集体代码所有权”的角度来看,所有代码似乎都是由同一个人编写的
  • 在不同的项目之间移动开发人员更容易
  • 代码更易于阅读和维护
  • 不管是否有人喜欢其他IDE

对于新项目,一旦您使用Maven进行了自动checkstyle验证,我认为进行严格的验证是一个好主意。也就是说,将代码样式错误视为编译错误(而不仅仅是警告),如果代码样式无效,则生成将被破坏。开始时需要一点规范,但最终会提高代码质量。

我们将格式化程序配置检查到版本控制中,并将格式化程序配置为保存操作

这要求每个人都使用eclipse,但您已经这样做了

它有以下优点:

  • 格式是一致的
  • 没有人花时间格式化代码
  • 没有人会在代码评审中争论格式问题
它的缺点是格式化程序有时会做一些奇怪的事情。这可通过以下方式解决:

  • 重写相关语句(例如,提取局部变量以缩短行并避免换行)
  • 向格式化程序提供提示(例如,您可以通过使用
    /
  • 使用on/off标记禁用代码段的格式化程序

我们将格式化程序配置检查到版本控制中,并将格式化程序配置为保存操作

这要求每个人都使用eclipse,但您已经这样做了