[go] 360安全卫士五 --遗忘的三板斧
永远的GitHub地址: https://github.com/JianBiHua/go_360_safe
写了好几章了,好像忘了什么东西,我们的三板斧哪去了。
1. 第一板斧【golint】
我靠,一斧头下去,出了这么多问题,一个一个改吧.
首先得说明下,这个不是代码中的错误,代码有没有注释都不会出错;但是维护起来却是不一样的,所以,注释很重要。
好的注释,可以让任何一个人看懂代码;坏的或者没有注释,像我这样的菜鸟就可能看不懂代码了,呵呵
这个提示挺清楚的,咱就抛砖引玉修改几个,意思意思,
- 修改第一个
// Package views is all user define view struct, Contains one or more QWidgets pointer
package views
- 修改后面的
// WIDTH is window max and min width
const WIDTH = 920
// HEIGHT is window max and min height
const HEIGHT = 580
// PAGE_COUNT is max page count
const PAGE_COUNT = 8
再运行下咱的斧头,对比下,提示是不少了几个呢;
这里要注意:
- golint检测的注释,必须是以备注函数或者变量或包名等,作为开始,否则报错
- 注释不一定非要英文或者中文,当然,能力强的写英文,能力弱的写中文,最主要是注释的清楚。像我这种中国式英文凑合看吧
- golint不检测私有函数变量
- 代码的规范检测,不允许出现WIDTH_1,类似有_的名称,要改成驼峰名称或其他
- golint提示清楚,甚至有修改办法,如下图的MainWindo.go201:5,将toolButtons_name 改成toolButtonsName
![]()
- 第二板斧【go test 单元测试覆盖率检测】
直接运行两句
$ go test -coverprofile=covprofile
$ go tool cover -html=covprofile -o coverage.html
不用看都能知道,覆盖率肯定为0,工程里除了一个MainWindow_test.go,一个test都没,这样的项目如果出去了,肯定很容易出问题.
我的项目底下生成了一个coverage.html文件,这个用浏览器打开就能看到测试情况了.如图:
红色为未测试,灰色为不用测试的,第三种颜色为测试了的。
代码覆盖率情况0的覆盖率
创建各种测试文件吧,这个应该是随项目一遍开发一边创建,而不是写完了再去创建的,否则你会发现----------工作量好大, 哭…!
我自己写了测试代码,好像这个没办法测试QT的代码,郁闷,之后再试试别的办法吧。
- 第三板斧【go doc】
实际上,golint检测完成,test加入Example, 基本就能使用自己的项目文档了。
godoc -http :6060
效果图如下:
当然咱这只要三板斧,实际项目中,可能还有别的检查工具,慢慢来吧.