多人协作项目如何保持代码风格统一

原文链接:https://liushiming.cn/2020/02/20/keep-same-code-style/

概述

多人在同一个项目协作的时候保持统一的编码风格很重要。但说起来容易做起来难,每个人都有自己的编码习惯,不去对比自己都难以意识到。本文我推荐一些做法、工具可以帮助我们尽量保持同样的风格。

选择go语言

如果可以,选择go语言作为编程语言。

go语言自带代码格式化命令gofmt,要求所有代码都有一致的代码风格,甚至不允许未使用的import和未使用的变量定义在程序里,否则编译不通过。

go的关键字仅25个,是我见过最少的。相比而言,c语言有32个,c++ 49个,python 33个,JavaScript 63个,java 53个。关键字精简大家写出来的代码就更趋向于一致。

sonarqube是专门做代码静态分析的工具,它内置了一套自己的规则来检查代码是否符合规范。就内置的编码规范来看,go只有46个,Java可能出现的问题或者code smell最多,达到533个,一个团队要投入多少精力(学习成本、review成本、修改成本)去避免这种编码规范的问题?长期下来是一个无法忽视的投入。

语言 sonarqube编码规范
Java 533
Python 440
C# 373
JavaScript 219
PHP 185
VB.NET 144
TypeScript 129
Flex 79
HTML 62
Kotlin 49
Ruby 48
Scala 47
Go 46
CSS 30
XML 16
JSP 6

使用lint插件

lint是一类工具的统称,即在ide编码时实时帮你检查编码规范的软件。我推荐的有SonarlintAlibaba java coding guidelines(java only)这两款插件。在intellij系列的ide上用起来都不错。lint软件比ide自带的代码风格检查更严格,而且会给问题分严重等级。

lint插件会highlight问题代码,鼠标悬浮可以查看问题概述。

show inspection description可以查看详情

自动格式化

在intellij下手动格式化的操作是 Code -> Reformat Code

在一个项目中,如果有的人格式化代码,有的人不格式化的后果就是git提交后,平白无故会多出很多difference,其实都是格式上的微调,但是会给代码review带来不必要的负担

所以最好大家代码都是格式化的。可以在commit的时候勾选先格式化再提交

也可以设置在保存文件时自动触发格式化操作
intellij preferences -> save actions -> 开启保存触发动作 -> 选择格式化动作

遵守业界规范

坚持高的标准,统一使用业界标杆企业的编码规范,如
Google Style Guides
Alibaba java开发手册

原文地址:https://www.cnblogs.com/huahuayu/p/12335543.html

时间: 2024-08-01 11:34:48

多人协作项目如何保持代码风格统一的相关文章

GitHub使用手册4——查看多人协作项目

一.克隆 Lighthouse 项目 这是一个正在进行多人协作的项目,是一个用于对渐进式网页应用进行审计.性能度量和提供最佳实践的应用. https://github.com/GoogleChrome/lighthouse 二.筛选协作者的commit 如何查明我们的协作者所完成的工作: 1.按 commit 作者分组 git shortlog  显示按字母顺序排序的人名列表,以及他们对应的提交说明 git shortlog -s -n  -s 仅显示 commit 的数量,-n 按数量排序 2

团队协作统一vue代码风格,vscode做vue项目时的一些配置

1. 安装Vetur 扩展 主要是用于让vscode能识别vue文件,对vue代码进行高丽处理,并且它内置了一些代码格式化的设置 2. 安装ESLint 如果你的项目已经开启了eslint规范, 再有多余的空格,或者空行,会有红色波浪线提示. 但是光有提示还不够,还希望在ctrl + s保存的时候自动帮我们处理这些小问题.其实那些js规范,大部分人错得多的地方无非就是个空格与空行的问题 文件 -> 首选项 -> 设置 将以下配置填入 worksapce settings { "edi

Git之Eclipece提交项目到Github并实现多人协作

一.Eclipece提交项目到Github 见  eclipse提交项目到github 二.利用github组织实现多人协作 1.新建组织: New organization 1.1.填表(1.组织名   2.邮箱   3.免费公开仓库   4.创建) 2.组织管理 2.1添加团队: 2.2.添加组织的仓库: 2.3.添加成员:(添加成员之后,需要在邮箱里确认) 3.多人协作 3.1团队成员都从eclipse中拉取组织中的仓库 GIT视图->clone,按步骤来,与 eclipse提交项目到gi

.NET之美——.Net 项目代码风格要求

.Net 项目代码风格要求 PDF版下载:项目代码风格要求V1.0.pdf 代码风格没有正确与否,重要的是整齐划一,这是我拟的一份<.Net 项目代码风格要求>,供大家参考. 1. C# 代码风格要求 1.1注释 类型.属性.事件.方法.方法参数,根据需要添加注释. 如果类型.属性.事件.方法.方法参数的名称已经是自解释了,不需要加注释:否则需要添加注释. 当添加注释时,添加方式如下图所示: 1.2 类型(类.结构.委托.接口).字段.属性.方法.事件的命名 优先考虑英文,如果英文没有合适的单

.Net 项目代码风格要求

.Net 项目代码风格要求 代码风格没有正确与否,重要的是整齐划一,这是我拟的一份<.Net 项目代码风格要求>,供大家参考. 1. C# 代码风格要求 1.1注释 类型.属性.事件.方法.方法参数,根据需要添加注释. 如果类型.属性.事件.方法.方法参数的名称已经是自解释了,不需要加注释:否则需要添加注释. 当添加注释时,添加方式如下图所示: 1.2 类型(类.结构.委托.接口).字段.属性.方法.事件的命名 优先考虑英文,如果英文没有合适的单词描述,可以使用拼音,使用中文是不符合要求的.

[email&#160;protected]中协作开发、复制项目、贡献代码

git@osc可以让我们托管代码,进行版本控制,同svn等类似平台一样,可以帮助我们实现团队协作开发,无论你是否是项目团队成员.本教程完全适用GitHub 1. 概念 协作开发:顾名思义,就是由多个项目成员共同开发一个项目. fork:GitHub提供非常方便功能,可以一键将其他人的项目复制到自己账号下. pull request:非项目成员贡献代码一种方式. 2. [email protected]如何协作开发 由项目创建者进入指定项目,在菜单栏上点击"设置",会看到如下界面 然后点

.Net 项目代码风格

1. C# 代码风格要求 1.1注释 类型.属性.事件.方法.方法参数,根据需要添加注释. 如果类型.属性.事件.方法.方法参数的名称已经是自解释了,不需要加注释:否则需要添加注释. 当添加注释时,添加方式如下图所示: 1.2 类型(类.结构.委托.接口).字段.属性.方法.事件的命名 优先考虑英文,如果英文没有合适的单词描述,可以使用拼音,使用中文是不符合要求的. 唯一可以使用中文的地方是枚举的枚举项,枚举项实际已经不属于本节标题的范畴了.这里只是放到一起说明,如下图所示: 1.3 不使用缩写

项目代码风格要求

1. C# 代码风格要求 1.1注释 类型.属性.事件.方法.方法参数,根据需要添加注释. 如果类型.属性.事件.方法.方法参数的名称已经是自解释了,则不需要加注释:否则必须添加注释. 当添加注释时,添加方式如下图所示: 1.2 类型(类.结构.委托.接口).字段.属性.方法.事件的命名 优先考虑英文,如果英文没有合适的单词描述,可以使用拼音,使用中文是不符合要求的. 唯一可以使用中文的地方是枚举的枚举项,枚举项实际已经不属于本节标题的范畴了.这里只是放到一起说明,如下图所示: 1.3 不使用缩

.Net 项目代码风格规范

最近没啥时间自己状态也不是很好,公司的事情忙,自己也有一些事情要处理,所以好久没有写博客了.利用公司午休时间写一写,以下是参考了一些资料,整理出来,共勉之. 代码风格没有正确与否,重要的是整齐划一,清晰易读. 1. C# 代码风格要求 1.1注释 类型.属性.事件.方法.方法参数,根据需要添加注释. 如果类型.属性.事件.方法.方法参数的名称已经是自解释了,不需要加注释:否则需要添加注释. 当添加注释时,添加方式如下图所示: 1.2 类型(类.结构.委托.接口).字段.属性.方法.事件的命名 优