zoukankan      html  css  js  c++  java
  • 多人协作项目如何保持代码风格统一

    原文链接: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开发手册

  • 相关阅读:
    内存相关函数
    Redis入门
    libevent(九)evhttp
    Python基础00 教程
    Python之re模块
    Makefile入门
    cmake安装jsoncpp
    awk调用date命令
    SQLite使用(二)
    SQLite使用(一)
  • 原文地址:https://www.cnblogs.com/huahuayu/p/12335543.html
Copyright © 2011-2022 走看看