go语言编程 要点总结(七)工程管理

go命令行工具

go help

代码格式化

代码质量分析与修复

单元测试与性能分析

工程构建

代码文档的提取和展示

依赖包管理

执行其他的包含命令,比如6g等

代码风格

代码必须是本着写给人阅读的原则来编写,只不过顺便给机器执行而已

go语言将代码分割强制统一,风格不符,编译器会认为是编译错误

命名

涉及变量、常量、全局函数、结构、接口、方法等命名。任何需要对外暴露的名字必须以大写字母开头,否则以小写字母开头

go语言使用骆驼命名法,不使用下划线

排列

左花括号的位置不能另起一行

else跟在右花括号后,不能另起一行

非强制建议:

以制表符缩进

添加空格

使用go fmt格式化代码文件,不指定文件则格式当前目录所有.go文件

远程import

可以import远程包

import (

"githup.com/myteam/exp/crc32"

)

但是在go build和go install之前需要执行

go get githup.com/myteam/exp/crc32

go get自动获取远程包源码,随后编译成.a

工程组织

GOPATH 多个路径以冒号分割

目录规范

<proj>

|---README

|---AUTHORS

|---<bin>

|---calc

|---<pkg>

|-<linux_amd64>

|---simplemath.a

|---<src>

|---<calc>

|---calc.go

|---<simplemath>

|---add.go

|---add_test.go

|---sqrt.go

|---sqrt_test.go

可以使用Markdown的语法来写纯文本文档,这样可以显示有格式的内容

一个标准工程包含以下目录:src、pkg和bin。src包含所有源代码是一个强制规则,pkg和bin则无需手动创建

增加名字空间只要在src下增加对应的目录

文档管理

程序员所谓的文档更多是指注视、函数、接口的输入、输出、功能和参数说明。

javadoc工具可以直接将注视提取并生成HTML格式的文档

使用go doc命令提取文档,需要满足如下基本规则:

注释需要紧贴对应的包声明和函数之前,不能有空行

注释如果需要新起一个段落,应该用一个空白注释行隔开,因为直接换行会被认为是正常段内换行

开发者可以直接用//BUG(author): 方式记录代码遗留问题

工程构建

go build 可执行程序会生成在当前目录,所以应该在bin目录下执行

go install 构建在bin目录下,如果是包则在pkg目录下

跨平台开发

交叉编译

安卓支持

adb 调试等等

单元测试

单元测试源文件的命名规则如下:需要测试的包下面创建以“_test”结尾的go文件,形如[^.]*_test.go

分为功能测试函数和性能测试函数,分别以Test和Benchmark为函数名前缀并以*testing.T为单一参数

func TestAdd1(t *testing.T)

func BenchmarkAdd1(t *testing.T)

t.Errorf()函数打印错误语句后终止测试

使用命令go test

性能测试函数内部使用for循环,可以设置定时关闭开启,消除准备工作对测试的影响

使用go test-test.bench命令

打包分发

go语言对兼容性控制非常严格,任何一个版本号不同将无法连接包

库的最佳分发方式是分发源码自己编译

可执行程序则没有这个问题,为了避免包连接问题,考虑将核心功能以二进制服务器程序提供,并辅以开源客户端SDK

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值