Skip to content

dablelv/go-coding-advice

Repository files navigation

在这里插入图片描述

本书由来

Go 语言自 2009 年诞生以来,因其出色的并发能力和简单易用的低门槛,已在各大厂商的后台高并发业务场景崭露头脚,甚至有取代传统后台服务开发语言 C++ 和 Java 之势。

Go 不仅易用,也很易学,这得益于与之匹配的丰富学习资料。Go 官方网站已有系统全面的指导文档,新手可以快速通过官方资料,轻松上手。此外,第三方资料,也有百家争鸣之势。有介绍 Go 语言基础和实战的,有对 Go 源码进行剖析介绍实现原理的,有介绍高并发场景下实战指导的,也有介绍使用 Go 进行高性能编程的,等等。很遗憾的是,没有发现一个系统介绍 Go 编码建议的。至此,本书应运而生。

本书《Go 编码建议》围绕最佳实践展开,希望能够帮助广大 Gopher 向 Go 的最佳实践更近一步。

内容简介

各个公司或组织,都有各自不同的 Go 编码规范,但大同小异。规范是一种倡导,不遵守并不代表错误,但当大家都遵守规范时,你会发现,整个世界将变得整洁有序。

本文结合官方编码建议,大厂编码规范、开源技术书籍和自身项目经验,尽可能以简短的语言给出一套行之有效 Go 编码建议,让您的代码高效易读。

本书主要分为五个方面:

  • 1.项目布局

项目布局参考业界认可度较高的 Standard Go Project Layout,给出布局建议。一个清晰的项目结构,能帮忙我们高效有序的管理与日俱增的业务代码。不会随着代码量的递增,项目代码变得凌乱而不堪入目。

  • 2.编码风格

编码风格从简洁易读的角度出发,参考 Go 官方 Go Code Review Comments,并结合自身项目团队编码规范,力争给出全面、认可度较高的编码风格,帮助大家写出统一风格的简洁高效的代码。

  • 3.功能实践

Go 虽然简单,但其功能特性却不单一。其丰富的语言特性,在使用时还是有很多不同的姿势。本书从功能特性出发,给出 Go 实践建议,帮助我们更好的使用 Go 写出更优质的代码。

  • 4.高性能编码

高效的代码是我们每一个 coder 的共同追求。为书写效率更高的代码,本文将结合 Go 语言特性,从常用数据结构、内存管理和并发,三个方面给出相关建议。

其中许多是 Go 的通用准则,其他扩展内容也参考了很多官方指南,包括但不限于。

Effective Go Golang Wiki | Go Common Mistakes Golang Wiki | Go Code Review Comments The Go Programming Language Specification The Go Programming Frequently Asked Questions (FAQ)

更多高性能编码优秀实践可自行查阅相关资料。

  • 5.安全编码

安全是系统高可用不可或缺的一环,从编码阶段就需要写出安全可靠的代码。

通过遵循安全最佳实践、持续审查和改进代码,可以有效保护应用程序和用户数据免受各种安全威胁的侵害。

目标读者

如果您是 Go 初学者,建议先了解下官方入门指南 A Tour of Go,这是入门 Go 的最佳读物。

如果是想全面了解 Go 语法知识和语言特性与,也建议先略过本书。Go 官方文档 The Go Programming Language SpecificationEffective Go,以及第三方书籍 Go 语言圣经 也是不错的选择。

如果是想深入了解 Go 语言实现原理,还是建议先略过本书。虽然本书略有涉及,但不够全面。Go 源码应该是你的首选,再结合精彩的第三方分析,如 Go 语言设计与实现,应该会大有收获。

那么到底是谁适合阅读本书呢?如果你是一位有 Go 开发经验的 Gopher,想更好地管理 Go 代码,想写出更加高效易读的 Go 代码,想让自己拥有一个更好的编码风格, 想离 Go 最佳实践更近一步,建议看看本书。

互动勘误

如果你对文章的内容有任何疑问和建议,欢迎在应相应章节下留言探讨。

本书为开源书籍,希望得到大家的协同共建,不断迭代。如果有你的建议和 PR,它将会变得更好。

About

Some suggestions on how to write golang code better.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published