在实际业务开发中,除了要提高业务开发效率,缩短业务开发周期,保证线上业务高性能,高可用的指标外,好的编程习惯也是一个开发人员基本素养之一,在本章节, 我们将介绍一下go-zero中的编码规范,本章节为可选章节,内容仅供交流与参考,本章节将从一下小节进行说明:

  • 命名规范
  • 路由规范
  • 编码规范

    开发三原则

    Clarity(清晰)

    作者引用了Hal Abelson and Gerald Sussman的一句话:

    Programs must be written for people to read, and only incidentally for machines to execute

程序是什么,程序必须是为了开发人员阅读而编写的,只是偶尔给机器去执行,99%的时间程序代码面向的是开发人员,而只有1%的时间可能是机器在执行,这里比例不是重点,从中我们可以看出,清晰的代码是多么的重要,因为所有程序,不仅是Go语言,都是由开发人员编写,供其他人阅读和维护。

Simplicity(简单)

Simplicity is prerequisite for reliability

Edsger W. Dijkstra认为:可靠的前提条件就是简单,我们在实际开发中都遇到过,这段代码在写什么,想要完成什么事情,开发人员不理解这段代码,因此也不知道如何去维护,这就带来了复杂性,程序越是复杂就越难维护,越难维护就会是程序变得越来越复杂,因此,遇到程序变复杂时首先应该想到的是——重构,重构会重新设计程序,让程序变得简单。

Productivity(生产力)

go-zero团队中,一直在强调这个话题,开发人员成产力的多少,并不是你写了多少行代码,完成了多少个模块开发,而是我们需要利用各种有效的途径来利用有限的时间完成开发效率最大化,而Goctl的诞生正是为了提高生产力, 因此这个开发原则我是非常认同的。

原文链接

https://go-zero.dev/cn/dev-specification.html