欢迎,来自IP地址为:18.221.174.248 的朋友


《计算机程序设计与解释》 中曾经指出:“代码必须是本着写给人阅读的原则来编写,同时顺便给机器执行而已”,这句话很精练地说明了代码风格的作用。当你阅读风格混乱的代码时,你会深深赞同上述观点。

代码风格,是一个与人相关而与机器无关的问题。代码风格的好坏,并不影响编译器的工作,但它确实会影响团队协同,影响代码的复用、演进以及缺陷修复。

Go语言很可能是第一个将代码风格强制统一的语言。其他语言的编译器完全忽视的问题,而在Go编译器前就会被认为是编译错误,比如如果花括号新起了一行摆放,你就会看到一个醒目的编译错误。

以下介绍Go语言的编码规范,主要分两类,分别是由Go编译器进行强制的编码规范以及由Go语言推行的非强制性编码风格建议。

强制性编码规范

可以说,由Go编译器进行强制的编码规范也是Go语言设计者认为最需要统一的代码风格,下面我们来加以说明。

1.命名

Go语言从语法层面进行了以下限定:任何需要对外暴露的名字必须以大写字母开头,不需要对外暴露的则应该以小写

字母开头。

软件开发行业最流行的两种命名法分别为骆驼命名法(类似于DoSomething和doSomething)和下划线法(对应为do_something),而Go语言明确宣告了拥护骆驼命名法而排斥下划线法。骆驼命名法在Java和C#中得到官方的支持和推荐,而下划线命名法则主要用在C语言的世界里,比如Linux内核和驱动开发上。在开始Go语言编程时,还是忘记下划线法吧,避免写出不伦不类的名字。

2.排列

Go语言甚至对代码的排列方式也进行了语法级别的检查,约定了代码块中花括号的明确摆放位置。

Go语言要求“{”必须放在代码最后一行,不得单独占一行;同时,else甚至都必须紧跟在之前的右花括号”}“后面并且不能换行。

Go语言的这条规则基本上就保证了所有Go代码的逻辑结构写法是完全一致的,也不会再出现有洁癖的程序员在维护别
人代码之前非要把所有花括号的位置都调整一遍的问题。

非强制性编码风格建议

在程序编译可以的通过的情况下,可以适当调整对代码进行调整来提升代码的可读性。主要内容包括:

  • 调整了每条语句的位置
  • 重新摆放花括号的位置
  • 以制表符缩进代码
  • 添加空格

当然,对于程序编码风格是可以通过go fmt 工具来完成的。Go语言提供了一个强大的编码风格调整工具,在程序可以通过编译后,可以运行:go fmt xxx.go 命令来完成对于源代码文件xxx.go的编码风格调整,调整后的代码就完全符合以上的风格建议,当然,对于命名规则就无法完成调整了,不过源代码在调整后就更具有可读性。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注