Go语言——【高质量编程 | 代码规范】

这篇具有很好参考价值的文章主要介绍了Go语言——【高质量编程 | 代码规范】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Go语言——【高质量编程 | 代码规范】

作者:非妃是公主
专栏:《Golang》
博客主页:https://blog.csdn.net/myf_666
个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩
Go语言——【高质量编程 | 代码规范】

一、高质量编程

定义

高质量编程,就是指编写的代码能够达到正确可靠的同时,具备简洁清晰、结构明了等特点,可以让团队成员很快的上手。具体来说,有以下几点:

  • 简单性
    • 消除多余的复杂性,以简单清晰的逻辑编写代码。
    • 团队其它成员不理解的代码,无法修复改进。
  • 可读性
    • 代码是写给人看的,而不是机器。
    • 编写可维护代码的第一步,就是确保代码可读。
  • 生产力:
    • 在团队开发过程中,整体的工作效率非常重要。

以上就是我们的目标,总结一下,我们想获得简单、可读,同时可以提高团队生产力的代码,那么,通过以下代码规范可以达到。

二、代码规范

1. 代码格式

代码格式,就是代码的缩进、分行、空格等等。其实,官方给我们提供了相关的标准,当我们使用goland进行编程的时候,即写完一段代码后,就可以通过ctrl+alt+l快捷键,进行一键调整代码格式。

如下图:

Go语言——【高质量编程 | 代码规范】

2. 注释

注释,是代码中很重要的一个规范,大多数时候我们都在关注代码实现,但是注释的重要性容易被忽视。

但是,我其实是重视代码注释的,因为一直以来也想着提高自己的代码质量。给大家看一下我写的代码:

Go语言——【高质量编程 | 代码规范】

我的注释是不是看起来还算是整洁?(大佬轻喷,毕竟我以前一直这样的注释写得还算是很棒的)但是,学习了Go语言的代码规范后,我发现Go语言的注释有着很大的讲究。下面我们一起来看一看。

  • 解释代码作用
  • 解释代码是如何做的
  • 解释代码实现的原因
  • 解释代码出错的情况

其实,注释主要是为代码增加一些额外的信息,包括上下文信息等。我们可以通过阅读代码很明显就可以得到的信息,就不需要加进注释,如果加进去,就叫做冗余

举几个例子:

好的注释:

Go语言——【高质量编程 | 代码规范】

因为对于这个公共符号,我们可以很容易地看出一些额外信息,比如这个函数到底要打开什么……

不好的注释:

Go语言——【高质量编程 | 代码规范】

不好的原因很简单,因为这个注释我们从命名中就可以得到(这个表是否已经满了),并不是额外信息。

好的注释:

Go语言——【高质量编程 | 代码规范】

解释了代码是如何实现的。

不好的注释:

Go语言——【高质量编程 | 代码规范】

只利用了一个process表示代码的实现,没有额外信息,很不好!

现在再去看我最初写的代码就很容易明白了,注释的内容都是可以很容易从代码中得到的“废话”。而真正有用的额外信息,却很少很少……

一些优秀的注释,如下:

Go语言——【高质量编程 | 代码规范】

Go语言——【高质量编程 | 代码规范】

Go语言——【高质量编程 | 代码规范】

Go语言——【高质量编程 | 代码规范】

Go语言——【高质量编程 | 代码规范】

3. 命名规范

Ⅰ. variable

  • 简洁胜于冗长
  • 缩略词全大写,当位于变量开头且不需要导出时(导出指:公有变量,我们见到的大多数变量都是私有变量,通过接口进行操作,很少有公有变量直接操作的,这样不安全),使用全小写。
    • 例如ServeHTTP,而不是ServeHttp
    • 使用XMLHTTPRequest或者xmlHTTPRequest(取决于该变量是否是公有变量)。
  • 变量距离其被使用的地方越远,则需要携带越多的上下文信息。
    • 全局变量在其名字中需要更多的上下文信息,使得其在不同地方可以轻易辨认出其含义。

几个命名规范与否的小示例,如下:

Go语言——【高质量编程 | 代码规范】

Go语言——【高质量编程 | 代码规范】

Ⅱ. function

  • 函数名不携带报名的上下文信息,因为报名和函数名总是成对出现。

Go语言——【高质量编程 | 代码规范】

  • 函数名应尽量简短
  • 当名为foo的包某个函数返回类型Foo时,可以省略类型信息而不导致歧义。
  • 当名为foo的包某个函数返回类型T时(T并不是Foo),可以在函数名中加入类型信息。

Ⅲ. package

  • 只由小写字母组成。不包含大写字母和下划线等字符
  • 简短并包含一定的上下文信息。例如schemetask等。
  • 不要与标准库同名。例如不要使用sync或者strings

应尽量满足的规则:

  • 不使用变量名作为报名。例如使用bufio而不是buf。
  • 使用单数而不是负数。例如使用encoding而不是encodings。
  • 谨慎地使用缩写。例如使用fmt在不破坏上下文的情况下比format更加简短。

Ⅳ. 命名规范——核心

  • 降低阅读理解代码的成本
  • 重点考虑上下文信息,设计简洁清晰的名称。

4. 控制流程

Ⅰ. 避免嵌套,保持正常流程清晰

Go语言——【高质量编程 | 代码规范】

Ⅱ. 尽量保持正常代码路径为最小缩进

Go语言——【高质量编程 | 代码规范】

Go语言——【高质量编程 | 代码规范】

Ⅲ. 控制流程-核心

  • 线性原理,处理逻辑尽量走直线,避免复杂的嵌套分支。
  • 正常流程代码沿着屏幕向下移动。
  • 提升代码可维护性和可读性。
  • 故障问题大多出现在复杂的条件语句和循环语句中。

4. 错误和异常处理

错误处理这部分内容由于在项目中遇到的较少,理解并不是很深入,暂且记录在这里吧~

Ⅰ. 简单错误

Go语言——【高质量编程 | 代码规范】

Ⅱ. 错误的Wrap和Unwrap

Go语言——【高质量编程 | 代码规范】

Ⅲ. 错误判定

Go语言——【高质量编程 | 代码规范】

Go语言——【高质量编程 | 代码规范】

Ⅳ. panic

Go语言——【高质量编程 | 代码规范】

Ⅴ. recover

Go语言——【高质量编程 | 代码规范】
Go语言——【高质量编程 | 代码规范】

Ⅵ. 错误处理——小结

Go语言——【高质量编程 | 代码规范】

the end……

Go语言——【高质量编程 | 代码规范】部分的内容到这里就要结束啦~~

到此既是缘分,欢迎您的点赞评论收藏关注我,不迷路,我们下期再见!!

😘😘😘 我是Cherries,一位计算机科班在校大学生,写博客用来记录自己平时的所思所想!
💞💞💞 内容繁杂,又才疏学浅,难免存在错误,欢迎各位大佬的批评指正!
👋👋👋 我们相互交流,共同进步!

:本文由非妃是公主发布于https://blog.csdn.net/myf_666,转载请务必标明原文链接:https://blog.csdn.net/myf_666/article/details/129009764文章来源地址https://www.toymoban.com/news/detail-429656.html

到了这里,关于Go语言——【高质量编程 | 代码规范】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何写出高质量代码?

    作为一名资深开发人员,写出高质量的代码是我们必须要追求的目标。然而,在实际开发中,我们常常会遇到各种问题。比如,代码的可读性、可维护性、健壮性和灵活性等,这些都会影响代码的质量。那么,究竟如何才能写出高质量的代码呢? 代码结构清晰易懂,能够使代

    2024年02月02日
    浏览(39)
  • 如何写出高质量代码

    一、 前言 编写高质量代码是每一位程序员的追求。高质量的代码可以提高代码可读性、可维护性、可扩展性以及软件运行的性能和稳定性。在这篇文章中,我将分享一些编写高质量代码的特征、编程实践技巧和软件工程方法论。 可读性:好的代码应该能够被维护者轻易地理

    2024年02月02日
    浏览(68)
  • 微软和OpenAI联手推出了GitHub Copilot这一AI编程工具,可根据开发者的输入和上下文,生成高质量的代码片段和建议

    只需要写写注释,就能生成能够运行的代码?对于程序员群体来说,这绝对是一个提高生产力的超级工具,令人难以置信。实际上,早在2021年6月,微软和OpenAI联手推出了GitHub Copilot这一AI编程工具。它能够根据开发者的输入和上下文,生成高质量的代码片段和建议。这个工具

    2024年02月09日
    浏览(45)
  • 如何写出高质量的代码

    你是否曾经为自己写的代码而感到懊恼?你是否想过如何才能写出高质量代码?那就不要错过这个话题!在这里,我们可以讨论什么是高质量代码,如何写出高质量代码等问题。无论你是初学者还是资深开发人员,都可以在这个话题下进行分享,汲取灵感和知识,共同提高自

    2023年04月25日
    浏览(108)
  • 代码优美,搬砖不累:探索高质量代码之路

    写出高质量代码是每个程序员的追求,也是提高自己编程能力的必经之路。高质量的代码可以提高软件的可维护性、可读性、可扩展性和可移植性等,降低软件开发和维护的成本。本文将介绍一些如何写出高质量代码的实用技巧和方法。 可读性与可维护性 可读性指代码应该

    2024年02月02日
    浏览(46)
  • 程序员如何高质量重构代码?

    有道无术,术尚可求也,有术无道止于术。你好,我是程序员雪球,今天和你聊聊程序员重构代码那些事。   程序员重构代码的重要性不言而喻,但如何进行有效的重构呢?下面是一些建议和指导。 为什么要重构? 重构是提高代码质量和可维护性的重要手段,旨在在不改变

    2024年02月15日
    浏览(51)
  • 袋鼠云代码检查服务,揭秘高质量代码背后的秘密

    质量是产品的生命线,代码检查是软件开发过程中至关重要的一环,它可以帮助我们发现并纠正潜在的错误,提高软件质量,降低维护成本。 在袋鼠云产品中也存在这个问题,由于离线数据开发人员 SQL 水平不一,导致代码书写混乱、SQL 代码运行问题较多。本文将介绍在离线

    2024年02月08日
    浏览(41)
  • 港大&谷歌提出GO-NeRF:在NeRF中生成协调且高质量的3D对象

    尽管在3D生成方面取得了进展,但在作为NeRF表示的现有3D场景中直接创建3D对象仍然是未经探索的。这个过程不仅需要高质量的3D对象生成,还需要将生成的3D内容无缝地合成到现有的NeRF中。为此,作者提出了一种新方法,GO-NeRF,能够利用场景上下文进行高质量和谐调的3D对象

    2024年01月18日
    浏览(37)
  • 开源语言大模型演进史:高质量基础模型竞赛

    本文是开源 LLM 发展史系列文章的第二部分。第一部分《 开源语言大模型演进史:早期革新 》回顾了创建开源 LLM 的最初尝试。本文将研究目前可用的最受欢迎的开源基础模型(即已进行预训练但尚未微调或对齐的语言模型)。 (本文作者为Rebuy公司AI总监、深度学习博士C

    2024年02月05日
    浏览(40)
  • 高质量病毒——暴风一号(BoyFine)代码.vbs

    最近我看到了一些很有趣的代码(主要是因为他是病毒),来,话不多说 直接上代码,希望对大家有帮助,此外,我要对它的名称进行说明,他的 中文名是暴风一号,英文名是BoyFine

    2024年02月11日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包