golangci-lint Go静态代码检查工具的使用
golangci lint
golangci lint是Go linter一个聚合器,里面内置了几十个linter,并且更新速度快,是一个强大的Go代码静态检查的工具。
golangci lint安装
官方提倡二进制安装,但为了快速入门,咱们就不使用二进制安装了
# Go 1.16+
go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.43.0# Go version < 1.16
go get -u github.com/golangci/golangci-lint/cmd/golangci-lint@v1.43.0
快速上手
可以直接使用下面命令,会对当前目录下的所有文件进行静态代码检查。
这两个命令是等价的
golangci-lint run
golangci-lint run ./...
也可以指定具体检查哪些目录和文件
golangci-lint run dir1 dir2/... dir3/file1.go
golangci-lint可以零配置使用,默认情况下会启用和没有启用的linter可以使用下面命令查看
golangci-lint help linters
可以通过-E启用linter,-D禁用linters
golangci-lint run --disable-all -E errcheck
配置使用
配置文件的优先级低于命令行选项。如果在命令行和配置文件中提供了相同的bool/string/int选项,则命令行中的选项将被使用。
启用禁用的linter是在命令行和配置文件组合而来的。
golangci-lint 在当前工作目录的以下路径中查找配置文件:
- .golangci.yml
- .golangci.yaml
- .golangci.toml
- .golangci.json
golangci-lint 还在从第一个分析路径的目录到根目录的所有目录中搜索配置文件。如果没有找到配置文件,将尝试在家目录中找到一个。
使用golangci-lint config path,查看使用的是哪个配置文件。
下面是配置文件的简单示例和注释
run:skip-dirs: # 设置要忽略的目录- .*~- cmdskip-files: # 要忽略的文件_test.go- _test.gotimeout: 2m #超时时间,默认1分钟concurrency: 4 #默认的并发使用cup数量
linters-settings: errcheck:check-type-assertions: true # 报告不检查类型断言的错误gocognit:min-complexity: 10 # 报告的最小代码复杂度,默认为30dogsled:max-blank-identifiers: 2 # 检查有太多空白标识符的赋值;默认是2lll:line-length: 20 # 最大行长,更长的行将被报告。默认是120,makezero:always: false # 只允许长度为0的片初始化。默认的是false.
linters:disable-all: true #关闭所有enable: #使用的linter- errcheck- gocognit- dogsled- lll- makezero
官方提供了yaml配置文件的例子,里面包含了所有的配置项和注释,地址是这个:
https://github.com/golangci/golangci-lint/blob/master/.golangci.example.yml
golangci-lint Go静态代码检查工具的使用相关推荐
- c/c++ 静态代码检查工具
文章目录 道理呢大家都懂,但是需要时间消化,而且人还是易犯错误的动物 lint gcc 12 sonarqube 道理呢大家都懂,但是需要时间消化,而且人还是易犯错误的动物 所以才有了,这些个静态代码 ...
- linux静态代码检查工具,linux下splint检测C语言代码质量
在linux下并没有pclint,可以使用splint代替.splint使用一.splint介绍splint是一个静态检查C语言程序安全弱点和编写错误的工具.splint会进行多种常规检查,包括未使 ...
- 静态代码检查工具简介
静态代码检查工具简介 在 Java 软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺陷.传统的代码复审.同行评审,通过人工方式来检查缺陷仍然是一件耗时耗力的事情.Java 静态代码分 ...
- 静态代码检查工具 cppcheck 的使用
CppCheck是一个C/C++代码缺陷静态检查工具.不同于C/C++编译器及其它分析工具,CppCheck只检查编译器检查不出来的bug,不检查语法错误.所谓静态代码检查就是使用一个工具检查我们写的 ...
- vscode中对flake8(python静态代码检查工具)和yapf(python代码格式化工具)的设置
在命令行下安装好flake8和yapf后在vscode中的用户设置(settings.json)中添加以下两行即可: "python.linting.flake8Enabled": ...
- 静态代码检查工具-PMD
静态代码检查工具-PMD 分类: 网络安全/ 工具使用/ 文章 提高代码的质量,除了要提高逻辑上的控制以及业务流程的理解外,代码本身也存在提高的空间,例如一些潜在的问题可以很早的就避免.类似于编码规范 ...
- Java 静态代码检查工具及其原理
Intellij IDEA 静态代码检查工具: checkstyle.pmd.findbugs. Alibaba Java Coding Guidelines; 三种工具的对比 工具 目的 检查项 F ...
- C/C++静态代码检查工具
如果能够在代码提交测试之前发现这些潜在的错误,就能够极大地减轻测试人员的压力,减少软件项目的除错成本,可是传统的C/C++编译器对此已经无能为力,这个任务只能由专用的代码检查工具完成.有很多C/C++ ...
- Python 常用静态代码检查工具简介
对于我这种习惯了 Java 这种编译型语言,在使用 Python 这种动态语言的时候,发现错误经常只能在执行的时候发现,总感觉有点不放心. 而且有一些错误由于隐藏的比较深,只有特定逻辑才会触发,往往导 ...
- Python 进阶 — Pylint 静态代码检查工具
目录 文章目录 目录 Pylint 错误类型 安装 使用 Pylint 与 Flake8 一般,Pylint 也是一款 Python 的静态代码检查工具,它会分析 Python 代码中的错误,查找不符 ...
最新文章
- C#获取文件的当前路径
- 神了!阿里资深大牛熬夜整理Python学习路线,终于开放了
- 人工智能电磁车模如何入手?
- spring mvc 自动生成代码
- 微信好友数据打包下载--微信数据分析(二)
- 【Vegas2010】cnblogs(博客园)排名原来是这样算的~
- codeforces 297 E. Anya and Cubes
- vue在html中写style,vue开发之style(六)(CSS页面布局之样式、背景、文字)
- JavaScript——Object类型
- 日语学习 (助词 「で」 和「に」 的区别)
- 左右两个列表框项之间的添加、移除、上下移动
- JMeter数据库请求配置及示例
- 腾讯上海安全团队招聘实习生
- 什么是技术交底书? 如何撰写技术交底书
- 如何做IT项目PoC测试
- JavaScript 编程精解 中文第三版 十四、文档对象模型
- ninja ripper新版教程
- 团队管理的四大挑战——留人篇
- 数据分析师培训告诉你 三个最常见的数据分析面试方向
- 如何改变视频的MD5值?一分钟让你学会操作