前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >代码优化及质量检测

代码优化及质量检测

作者头像
李海彬
发布2019-05-08 14:18:43
2.2K0
发布2019-05-08 14:18:43
举报
文章被收录于专栏:Golang语言社区

一、Go的相关插件工具简介

  • golint 代码的风格检测
  • go fmt 重新格式化Go源代码
  • goimports 引用包的优化
  • gometalinter 同时运行Go lint工具并规范化其输出
  • go vet 代码的语法检查

二、插件工具使用

1、golint

  • 安装golint
代码语言:javascript
复制
1#下载源码
2> go get github.com/golang/lint/
3#编译包并生产可执行文件到bin目录下($GOPATH/bin)
4> go install github.com/golang/lint/golint
  • 打开goland进行设置,点击Settings

打开设置

  • 选择External Tools并新建+

选择External Tools并新建+

  • 参数说明:
代码语言:javascript
复制
1Name : golint  #Tool名称
2Description: golint  #Tool描述
3Program : $GOPATH\bin\golint.exe #选择golint可执行文件的位置
4Atguments: $FilePath$ #魔法变量(执行当前go文件的路径)
5Working directory: $ProjectFileDir$ #魔法变量(当前项目的路径)
  • 设置快捷键Keymap -> External Tools -> External Tools -> golint -> Add Keyboard Shortcut(右键)

新增快捷键

  • 连续按着键盘进行设置

设置快捷键

  • 选择项目中的一个go文件进行【快捷键测试】

测试结果

  • git commit 提交代码测试

提交代码测试 注意:这是 commit 提交之后才进行代码检测

2、gofmt+goimports+gometalinter

  • 打开goland进行设置,点击Settings

打开设置

  • goland 设置插件,File Watchers -> + -> 分别点击安装go fmtgoimportsgometalinter

image.png

  • 修改代码后按住Ctrl+S就可以看到效果了 gofmt 、 goimports直接就可以看见代码修改的效果 gometalinter的效果

gometalinter

3、go tool vet

  • 使用go tool vet针对单个文件进行代码检查
代码语言:javascript
复制
> go tool vet global/init.go

测试结果

go vet

  • 使用go tool vet针对整个项目进行代码检查
代码语言:javascript
复制
1> go tool vet ../zlsc_image

测试结果

代码语言:javascript
复制
 1>go tool vet ../zlsc_image
 2..\zlsc_image\global\init.go:144: struct field c_ip has json tag but is not exported
 3..\zlsc_image\global\init.go:145: struct field college_id has json tag but is not exported
 4..\zlsc_image\global\init.go:146: struct field status has json tag but is not exported
 5..\zlsc_image\global\init.go:147: struct field camera_status has json tag but is not exported
 6..\zlsc_image\global\init.go:148: struct field sign_status has json tag but is not exported
 7..\zlsc_image\utils\file.go:160: Println call has possible formatting directive %s
 8..\zlsc_image\utils\file.go:172: Println call has possible formatting directive %s
 9..\zlsc_image\utils\file.go:184: Println call has possible formatting directive %s
10..\zlsc_image\utils\image.go:89: unreachable code
11..\zlsc_image\utils\image.go:79: image/jpeg.Options composite literal uses unkeyed fields
12..\zlsc_image\utils\pic.go:388: unreachable code
13..\zlsc_image\utils\uid.go:57: result of fmt.Sprintf call not used
14..\zlsc_image\utils\uid.go:61: result of fmt.Sprintf call not used
15..\zlsc_image\utils\uid.go:70: result of fmt.Sprintf call not used
16..\zlsc_image\utils\uid.go:98: result of fmt.Sprintf call not used
17..\zlsc_image\utils\convert\map.go:182: unreachable code
18..\zlsc_image\utils\convert\map.go:196: unreachable code
19..\zlsc_image\utils\convert\map.go:210: unreachable code
20..\zlsc_image\utils\convert\map.go:224: unreachable code

版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-02-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Go的相关插件工具简介
  • 二、插件工具使用
    • 1、golint
      • 2、gofmt+goimports+gometalinter
        • 3、go tool vet
        相关产品与服务
        腾讯云代码分析
        腾讯云代码分析(内部代号CodeDog)是集众多代码分析工具的云原生、分布式、高性能的代码综合分析跟踪管理平台,其主要功能是持续跟踪分析代码,观测项目代码质量,支撑团队传承代码文化。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档