吾爱草根 发表于 2024-9-6 13:00:00

改善Go语言编程质量的50个有效实践


讲师简介:
Tony Bai,Go 语言技术专家,GopherChina 大会讲师,OSCHINA 源创会技术讲师,《七周七语言》译者之一,慕课网《Kubernetes 实战:高可用集群搭建、配置、运维与应用》作者,开源拥趸。目前正在国内⼀大型软件公司带领团队使用 Go 语⾔构建移动运营商的 5G 消息平台,这个平台将处理来自全国各地几十万个 5G chatbot 程序每天发送的几十亿条 5G 消息请求。

专栏模块:
本专栏共分 10 个模块 (篇),50 个小节。

模块 1:设计哲学篇
本专栏的开篇和总起。和读者⼀起穿越时空,回顾历史,详细了解 Go 语⾔的诞⽣、演化以及今天的发展。归纳总结 Go 语⾔的设计哲学和原⽣编程思维,让读者可以站在语⾔设计者的⾼度理解 Go 语⾔与众不同的设计。

模块 2:代码风格篇
每种编程语⾔都有⾃⼰惯⽤的代码⻛格,⽽遵循语⾔惯⽤⻛格是⾼质量 Go 代码的必要条件。本篇详细介绍了得到公认且⼴泛使⽤的 Go ⼯程的结构布局、代码⻛格标准、标识符命名惯例以及变量声明形式等。

模块 3:基础语法篇
本模块详述在基础语法层⾯⾼质量 Go 代码的惯用法和有效实践,涵盖⽆类型常量的作⽤、定义 Go 的 “枚举常量”、“零值可⽤” 类型的意义、切⽚原理以及其⾼效的原因、Go 包导⼊路径的真正含义等。

模块 4:函数与方法篇
函数和⽅法是 Go 程序的基本组成单元。本模块聚焦于函数与⽅法的设计与实现,涵盖 init 函数的使⽤、跻身 “一等公导” 行列的函数有何不同、Go 方法的本质等帮助读者深⼊理解它们的内容。

模块 5:接⼝篇
接⼝是 Go 语⾔中的 “魔法师”。本模块将聚焦接⼝,涵盖接⼝的设计惯例、使⽤接⼝类型的注意事项以及接⼝类型对代码可测试性的影响等。

模块 6:并发编程篇
Go 以其轻量级的并发模型⽽闻名。本模块将详细介绍 Go 基本执⾏单元 - goroutine 的调度原理、Go 并发模型以及常⻅并发模式、Go 支持并发的原生类型 - channel 的惯⽤使⽤模式等内容。

模块 7:错误处理篇
Go 语⾔⼗分重视错误处理,它有着相对保守的设计和显式处理错误的惯例。本模块将涵盖 Go 错误处理的哲学以及在这套哲学下⼀些常见错误处理问题的优秀实践⽅案。

模块 8:测试与调试篇
Go ⾃带强⼤且为⼈所称道的⼯具链,本模块将详细介绍 Go 在单元测试、性能测试以及代码调试方面的最佳实践⽅案。

模块 9:标准库篇
Go 拥有功能强⼤且质量上乘的标准库,多数情况我们仅使⽤标准库所提供的功能⽽不借助第三方库就可实现应用的大部分功能,这⼤幅降低学习成本以及代码依赖的管理成本。本模块将详细说明高频使用的标准库包,如 net/http、strings、bytes、time 等的正确使用方式,以及 reflect 包、cgo 在使用时的注意事项。

模块 10:工程实践篇
本模块将涵盖我们使用 Go 语言做软件项目过程中很大可能会遇到的⼀些⼯程问题的解决⽅法,包括:使用 module 进⾏ Go 包依赖管理、Go 应⽤容器镜像、Go 相关⼯具使用以及 Go 语言的避 “坑” 指南。

课程目录:
├──01 Go 语言的前生今世慕课专栏.html32.89kb
├──01 Go 语言的前生今世慕课专栏.pdf360.15kb
├──02 Go语言的设计哲学之一简单慕课专栏.html17.73kb
├──02 Go语言的设计哲学之一简单慕课专栏.pdf389.88kb
├──03 Go 语言的设计哲学之二组合慕课专栏.html14.22kb
├──03 Go 语言的设计哲学之二组合慕课专栏.pdf181.12kb
├──04 Go语言的设计哲学之三并发慕课专栏.html23.90kb
├──04 Go语言的设计哲学之三并发慕课专栏.pdf391.13kb
├──05 Go 语言的设计哲学之四面向工程慕课专栏.html20.63kb
├──05 Go 语言的设计哲学之四面向工程慕课专栏.pdf276.76kb
├──06 参考 Go 项目布局设计你的项目结构慕课专栏.html19.90kb
├──06 参考 Go 项目布局设计你的项目结构慕课专栏.pdf318.37kb
├──07 gofmtGo代码风格的唯一标准慕课专栏.html29.17kb
├──07 gofmtGo代码风格的唯一标准慕课专栏.pdf1.69M
├──08 Go 标识符的命名惯例慕课专栏.html30.33kb
├──08 Go 标识符的命名惯例慕课专栏.pdf1.91M
├──09 变量声明形式尽量保持一致慕课专栏.html44.59kb
├──09 变量声明形式尽量保持一致慕课专栏.pdf245.74kb
├──10 无类型常量让代码更简化慕课专栏.html29.85kb
├──10 无类型常量让代码更简化慕课专栏.pdf234.75kb
├──11 Go“枚举常量”的惯用实现方法慕课专栏.html25.28kb
├──11 Go“枚举常量”的惯用实现方法慕课专栏.pdf214.28kb
├──12 定义“零值可用”的类型慕课专栏.html28.33kb
├──12 定义“零值可用”的类型慕课专栏.pdf181.83kb
├──13 用复合字面值作初值构造器慕课专栏.html43.65kb
├──13 用复合字面值作初值构造器慕课专栏.pdf179.63kb
├──14 深入理解和高效运用切片(slice)慕课专栏.html48.28kb
├──14 深入理解和高效运用切片(slice)慕课专栏.pdf1.40M
├──15 注意Go 字符串是原生类型慕课专栏.html103.22kb
├──15 注意Go 字符串是原生类型慕课专栏.pdf293.63kb
├──16 理解包导入路径的含义慕课专栏.html50.74kb
├──16 理解包导入路径的含义慕课专栏.pdf243.04kb
├──17 init 函数的妙用慕课专栏.html40.72kb
├──17 init 函数的妙用慕课专栏.pdf309.42kb
├──18 Go 函数是“一等公民”慕课专栏.html94.08kb
├──18 Go 函数是“一等公民”慕课专栏.pdf273.42kb
├──19 defer 让你的代码更清晰慕课专栏.html84.73kb
├──19 defer 让你的代码更清晰慕课专栏.pdf339.56kb
├──20 Go 方法的本质慕课专栏.html44.85kb
├──20 Go 方法的本质慕课专栏.pdf197.36kb
├──21 方法集合决定接口实现慕课专栏.html72.00kb
├──21 方法集合决定接口实现慕课专栏.pdf245.24kb
├──22 变长参数函数的妙用慕课专栏.html86.85kb
└──22 变长参数函数的妙用慕课专栏.pdf297.19kb


下载地址:
**** Hidden Message *****

Chris_Chen 发表于 2024-9-6 13:25:24

啥也不说了,感谢楼主分享哇!

mytest123 发表于 2024-9-6 13:29:56

啥也不说了,感谢楼主分享哇!

lisus2000 发表于 2024-9-6 13:32:38

啥也不说了,感谢楼主分享哇!

fanxuchao 发表于 2024-9-6 13:47:25

啥也不说了,感谢楼主分享哇!

3193305742 发表于 2024-9-6 13:48:51

啥也不说了,感谢楼主分享哇!

谢陈义 发表于 2024-9-6 13:50:36

啥也不说了,感谢楼主分享哇!

zbw7415604 发表于 2024-9-6 13:54:32

啥也不说了,感谢楼主分享哇!

yeCoding 发表于 2024-9-6 13:57:03

啥也不说了,感谢楼主分享哇!

hys520 发表于 2024-9-6 14:05:59

正需要,支持楼主大人了!
页: [1] 2 3 4 5 6 7
查看完整版本: 改善Go语言编程质量的50个有效实践