Skip to content

团队代码风格

本文主要介绍多人协作下如何保持代码风格的一致性,基于 idea 2022.3。

本文将介绍如何使用 editconfig 来保持代码风格的一致性。

为什么使用它

在团队开发中,大部分是在旧系统上进行开发的,有些代码经过几个人的洗礼后,各种格式风格。在使用工具的时候,经常性 ctrl+x 就把代码格式化了,在 git 提交的时候发现各种冲突,文件多点,时间久点,一拉代码就冲突,特别是自己又没改过那个代码。很大一部分原因是习惯性把代码给格式化了,而其他同事的格式化风格和你的不一样,这就会提高冲突的概率,而且自己还不知道冲突的代码是因为自己格式化了,这就很尴尬,去解决冲突很耗时间,如果是因为格式造成代码不一致怎么办呢?团队中如何统一格式化风格呢?有多种方法。本文主要介绍 editconfig。 由于它支持多种 ide 环境,例如 idea,vscode,webstorm,sublime text 等等,通过很简单的设置便能达成统一。

如何使用

标品里面在根目录下放置了一个 .editconfig 文件。idea 能自动识别到这个文件。如果发现未能起作用,可以在如下图中进行设置:

code_style_1.png

同时 idea 自身的 code style 也将会被 editconfig 覆盖,如图:

code_style_2.png

这样设置完后,代码格式化便都通过 editconfig 来管理了。

xml
root = true

[*]
charset = utf-8
end_of_line = crlf
indent_size = 4
indent_style = space
insert_final_newline = false
max_line_length = 120
tab_width = 4
ij_continuation_indent_size = 8
ij_formatter_off_tag = @formatter:off
ij_formatter_on_tag = @formatter:on
ij_formatter_tags_enabled = false
ij_smart_tabs = false
ij_visual_guides = none
ij_wrap_on_typing = false

[*.java]
ij_java_align_consecutive_assignments = false
ij_java_align_consecutive_variable_declarations = false
ij_java_align_group_field_declarations = false
ij_java_align_multiline_annotation_parameters = false
ij_java_align_multiline_array_initializer_expression = false
ij_java_align_multiline_assignment = false
ij_java_align_multiline_binary_operation = false
ij_java_align_multiline_chained_methods = false
ij_java_align_multiline_deconstruction_list_components = true
ij_java_align_multiline_extends_list = false

点开 editconfig 文件,内容如上,可以看到这里配置的就是一条条的代码格式化规则,也就是说,后续如果有新增或是修改,便可以通过修改此文件来让整个团队统一。

editconfig 如何生成

在 idea 根目录中按照如下图方式来设置,便能生成:

code_style_3.png

code_style_4.png