程序员社区

成为Go开发达人的7个话题(和github库)

成为Go开发达人的7个话题(和github库)插图

随着开发人员和大公司对Go语言的高度认可,导致公司开始寻找具有Go经验的工程师。这可能会给你带来很大的压力,让你决定要学什么才能成为一名优秀的工程师,这个是因人而异的,需要你计划什么时候学习其他的技术(即使是工程领域以外的知识)。

在这篇博文中,我将介绍一些重要的主题或github仓库,我认为有助于成为一名拥有更好的Go技术的工程师,包括:遵循良好的实践来编写代码,代码结构的概念(常用的设计模式),可伸缩代码和整洁的代码。

风格指南

关于这个话题我能列出不止一个仓库,我将推荐你阅读这3个链接。并为你的团队带来最符合实际情况的指导。记住使用官方文档作为基础,并从其他链接中补充有意义的内容。

  • Effect Go:https://golang.org/doc/effective_go
  • uber-go/guide:https://github.com/uber-go/guide
  • Google Style Guide:https://google.github.io/styleguide/
  • Go standards and style guidelines| Gitlab: https://docs.gitlab.com/ee/development/go_guide/

最佳实践

Francesc Campoy在OSCON 2015上就这个主题做了一次精彩的演讲,他在演讲中介绍了使用Go语言开发软件的最佳实践。

  • PPT:https://talks.golang.org/2013/bestpractices.slide#1

算法实现

  • The Algorithms/Go:https://github.com/TheAlgorithms/Go
    这个存储库包含许多基于Go的流行算法和数据结构的。每种算法和数据结构都有自己的介绍,其中有相关的解释和链接供进一步阅读。

整洁的代码

Go社区提供的参考,涵盖了编写整洁代码的基础知识,并讨论了特定于Go的具体重构示例。

  • Pungyeon/clean-go-article:https://github.com/Pungyeon/clean-go-article

整洁架构

著名作家Robert“Uncle Bob”Martin在他的书《Clean Architecture: A Craftsman’s Guide to Software Structure and Design》中介绍了一个包含一些要点的架构,如框架、数据库和接口的可测试性和独立性。

  • bxcodec/go-clean-arch:https://github.com/bxcodec/go-clean-arch
    埃尔顿·米内托(Elton Minetto)就这个话题写了两篇精彩的博文:
  • Clean Archicture using Golang:https://eminetto.medium.com/clean-architecture-using-golang-b63587aa5e3f
  • Clean Architecture, 2years later:https://eltonminetto.dev/en/post/2020-07-06-clean-architecture-2years-later/

Awesome Go

不能少了awesome-go这个项目:https://github.com/avelino/awesome-go
一个很棒的Go库和资源的集合。这个仓库包含各种框架、模板引擎、文章和帖子、文档、响应式和函数式编程以及更多的内容,这些内容将丰富您的资源,并可能帮助您为下一个项目选择技术堆栈。

项目指南

这是一个复杂的话题,没有一个标准可以完美地适用于你正在开发的内容,我建议你理解项目架构的概念(不仅仅是Go),并与你的团队一起理解什么对你有用,尽管有成千上万的书籍提供关于这个话题的知识,但我建议您动手编写代码并允许犯错误,这是最好的提升方式。阅读以下内容:

  • How to Write Go Code:https://golang.org/doc/code
    现在您已经阅读前面的链接,我将推荐一个有争议的库,它不是“Golang标准项目布局”,但有一个项目结构,可以帮助开发一个新项目,了解适合你(和你的团队)以及不适合的并忽略。
  • golang-standards/project-layout:https://github.com/golang-standards/project-layout
赞(0) 打赏
未经允许不得转载:IDEA激活码 » 成为Go开发达人的7个话题(和github库)

一个分享Java & Python知识的社区