golangci-lint 使用

安装

这里我使用V1.53.2版本,是比较新的,因为我要使用泛型

go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.53.2

查看是否安装成功

golangci-lint version

image.png

缓存

众所周知,在go test测试中也有缓存,golangci-lint 也有缓存

查看缓存状态
 golangci-lint cache status

image.png

清除缓存
golangci-lint cache status

image.png

指定配置文件

运行时指定

golangci-lint run -config path

image.png
使用默认配置,会在运行运行golangci-lint 的目录开始向上查找(.goalngci.yaml | .golangci-lint.json | .golangci.xml)

常用配置项目
skip-dirs 忽略检查目录

.goalngci-lint.yam 如下

run:
    skip-dirs:
      - internal # 忽略internal目录

image.png
image.png

skip-files 忽略检查文件
run:
  skip-files:
    - serv.go   # 忽略后半部分为 serv.go 的文件 (如: aserv.go, bserve.go)
	  - internal/cmd/cmd_serv.go # 指定具体忽略的文件
linters-settings errcheck 配置
linters-settings:
  errcheck:
    # 从接口类型尝试转回某个具体的struct时,使用第二个参数进行断言
    # report about not checking of errors in type assertions: `a := b.(MyStruct)`;
    # default is false: such cases aren't reported by default.
    check-type-assertions: true

    # report about assignment of errors to blank identifier: `num, _ := strconv.Atoi(numStr)`;
    # default is false: such cases aren't reported by default.
    check-blank: false

check-type-assertions: true, 从接口类型尝试转回某个具体的struct时,需要使用第二个参数进行断言
check-blank: false, 允许使用 _ 接收error,从而不判断error

使用

基本用法

golangci-lint run 对当前目录下所有文件进行检测
image.png

指定文件或目录

golangci-lint run <dirname | filename> 对指定目录或文件进行检查
image.png

指定配置

golangci-lint run -c <config-path> 使用指定的配置文件进行检查
image.png

指定或关闭检查项

golangci-lint -E <linter> 让linter有效
image.png
golangci-lint -D <linter> 让linter无效
image.png

在代码中指定跳过检查
跳过一个文件中的检查

在 package 上增加 //nolint
增加前:

package main

import (
	"fmt"
	"os"
)

func testOne(a string) {
	_, err := os.Open("abc.txt")
}

func main() {
	fmt.Println("ok")
}

image.png
增加后:

// nolint
package main

import (
	"fmt"
	"os"
)

var b int

func testOne(a string) {
	_, err := os.Open("abc.txt")
}

func main() {
	fmt.Println("ok")
}

image.png

忽略一行的检查

在一行的后面增加 //nolint
增加前:

package main

import (
	"fmt"
)

var b int

func main() {
	fmt.Println("ok")
}

image.png
增加后:

package main

import (
	"fmt"
)

var b int // nolint

func main() {
	fmt.Println("ok")
}

image.png

忽略一个函数的检查

在函数的上面增加 //nolint
增加前:

package main

import (
	"errors"
)

func check() error {
	return errors.New("err")
}

//nolint
func One() {
	check()
}

func main() {
	One()
}

image.png
增加后:

package main

import (
	"errors"
)

func check() error {
	return errors.New("err")
}

//nolint
func One() {
	check()
}

func main() {
	One()
}

image.png

跳过指定聚合器

//nolint:聚合器1,聚合器2......
跳过 staticcheck 前:

package main

import (
	"errors"
)

func check() error {
	return errors.New("err")
}

//nolint:errcheck
func One() {
	check()
}

func main() {
	One()
}

image.png
跳过后:

package main

import (
	"errors"
)

func check() error {
	return errors.New("err")
}

//nolint:errcheck,staticcheck
func One() {
	check()
}

func main() {
	One()
}

image.png

跳过检查需要给出具体的原因
package main

import (
	"errors"
)

func check() error {
	return errors.New("err")
}

//nolint:errcheck,staticcheck
//因为xxx原因,所以此处跳过检查
func One() {
	check()
}

func main() {
	One()
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: PC-lint Plus是一款功能强大的代码静态分析工具,可以用于帮助开发人员在编码过程中发现和修复潜在的代码问题。下面是PC-lint Plus的使用教程: 1. 安装和配置:首先,需要下载PC-lint Plus的安装包并进行安装。安装完成后,需要配置PC-lint Plus的一些参数,例如源代码路径、预处理器宏的定义等。 2. 运行PC-lint Plus:在命令行中输入"Lint"命令,加上源代码文件的路径和其他参数,即可运行PC-lint Plus进行代码静态分析。 3. 分析报告:PC-lint Plus会生成一个详细的分析报告,其中包含了代码中存在的问题、警告和建议。开发人员可以根据报告中的信息来定位和修复代码问题。 4. 配置规则:PC-lint Plus提供了许多配置选项,可以根据项目的需求来自定义规则。开发人员可以通过修改配置文件或者使用命令行参数来启用或禁用某些规则,以及调整规则的严格程度。 5. 集成到开发环境:PC-lint Plus可以与各种集成开发环境(IDE)进行集成,例如Eclipse、Visual Studio等。这样可以在编码过程中实时检查代码,并提供实时的问题提示和建议。 6. 定期运行:为了保持代码的质量和可靠性,建议定期运行PC-lint Plus进行代码静态分析,以便及时发现和修复存在的问题。 总结来说,PC-lint Plus是一款强大的代码静态分析工具,可以帮助开发人员发现和修复代码中的问题。通过正确配置使用PC-lint Plus,开发人员可以提高代码的质量和可靠性,从而更好地进行软件开发。 ### 回答2: PC-lint Plus 是一款广泛使用的静态代码分析工具,用于帮助开发人员在编程过程中发现潜在的问题和错误。以下是使用PC-lint Plus的一些简单教程: 1. 介绍安装和配置过程:首先,确保你已经从官方网站或其他可靠来源下载并安装了PC-lint Plus。安装完成后,你需要配置PC-lint Plus以适应你的项目。配置主要包括指定源代码文件、设置分析选项以及配置规则集。了解如何正确配置 PC-lint Plus 对于正确使用工具至关重要。 2. 运行静态代码分析:在你的命令行终端或集成开发环境(IDE)中输入相应的命令,以运行PC-lint Plus。指定你想要分析的源代码文件和其他选项,如配置文件等。运行后,PC-lint Plus会分析你的代码并生成报告。 3. 处理报告:在分析完成后,你会得到一个生成的报告文件。打开报告文件,查看其中列出的各种问题和错误。这些问题可能包括未使用的变量、潜在的内存泄漏、类型不匹配等。然后,根据报告中提供的建议和解决方案,逐一处理这些问题。 4. 理解规则和警告:PC-lint Plus会根据预定义的规则集来分析代码,并生成相应的警告和错误。不同的规则可能会检查不同的代码质量问题。了解这些规则和警告的含义非常重要,可以帮助你全面理解报告并采取正确的行动。 5. 配置自定义规则集和过滤器:除了默认的规则集外,你还可以根据项目的具体需求创建自定义的规则集和过滤器。通过这些自定义配置,你可以更好地适应项目要求并提高代码质量。 虽然这只是PC-lint Plus的简要教程,但它可以帮助你入门并开始使用这个强大的工具。随着对该工具的逐渐了解和熟练掌握,你将能够更有效地发现和解决代码中的问题,提高代码质量和开发效率。 ### 回答3: PC-lint Plus 是一种广泛应用的静态代码分析工具,可以帮助程序员发现潜在的编程错误和代码质量问题。下面是基本的使用教程: 1. 下载与安装:首先,从PC-lint Plus 的官方网站下载软件,并根据系统要求进行安装。 2. 配置:打开软件后,需要配置一些参数以适应你的项目。点击菜单栏中的“Options”,选择“Project Options”或“Workspace Options”,然后根据需要调整设置。例如,你可以指定编译器的版本、代码检查的规则等。 3. 创建配置文件:配置文件包含了静态代码分析的规则和设置。你可以使用默认配置文件,也可以创建新的配置文件。点击菜单栏的“File”,选择“New Configuration”,然后根据需要进行配置。 4. 运行分析:在主界面上选择你的源代码文件或者整个项目文件夹,然后点击菜单栏中的“Run”选项来启动静态分析。PC-lint Plus 会分析你的代码,并生成一个报告,指出潜在的编程错误和代码质量问题。 5. 查看和解决问题:在分析完成后,PC-lint Plus 会生成一个报告文件。你可以打开报告文件,逐一查看每个问题,并按照报告中提供的建议来修复问题。此外,你还可以使用软件自带的高级搜索功能来快速定位和解决问题。 6. 集成到开发环境:如果你使用的是支持集成的开发环境,如Eclipse、Visual Studio等,你可以将PC-lint Plus 集成到开发环境中,以便在代码编写过程中自动进行静态分析。 总体而言,PC-lint Plus 是一个功能强大的静态代码分析工具,能够帮助程序员提高代码质量和开发效率。通过适当的配置使用,可以有效地发现和解决代码中的问题,提升软件的稳定性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值