这是我参与「第五届青训营 」伴学笔记创作活动的第 4 天
如何进行Go语言的代码检查和优化? 在项目开发中,保证代码质量和性能的手段不只有单元测试和基准测试,还有代码规范检查和性能优化。
1.代码规范检查是对单元测试的一种补充,它可以从非业务的层面检查代码是否还有优化的空间,比如变量是否被使用、是否是死代码等。 2.性能优化是通过基准测试来衡量的,这样我们才知道优化部分是否真的提升了程序的性能。
代码规范检查
什么是代码规范检查?
代码规范检查,顾名思义,是从Go语言层面出发,依赖Go语言的规范,对代码进行的静态扫描检查,这种检查和业务无关。 比如定义了某个常量,未使用,虽然对代码运行没什么影响,但是为了节省内存,这个常量是可以删除的。这种未使用的常量可以通过代码规范检查检测出来。
在比如调用了一个函数,该函数返回了一个error,但是并没有对error做判断,这种情况下, 程序也可以正常编译运行。但是代码写的不严谨,因为返回的error 被忽略了。如果使用代码规范检查,这类潜在的问题也会被检测出来。除了这两种情况,还有拼写问题、死代码、代码简化检测、命名中带下划线、冗余代码等,都可以使用代码规范检查检测出来。
golangci-lint
要想对代码进行检查,则需要对代码进行扫描,静态分析写的代码是否存在规范问题。可用于Go语言飞马分析的工具有很多,比如golint、gofmt、misspell等,如果一一引用配置,就会很繁琐,所以通常不会单独使用,而是使用 golangci-lint。
提示: 静态代码分析是不会运行代码的。
golangci-lint 是一个集成工具,它集成了很多静态代码分析工具,便于使用。通过配置这一工具,我们可以很灵活的启动需要的代码规范检查。 要想使用 golangci-lint ,首先要安装。 因为 golangci-lint 本身就是Go语言编写的,所以我们可以从源代码安装,打开终端,输入如下命令即可安装。