关于go:简化-Go-开发使用强大的工具提高生产力

38次阅读

共计 2743 个字符,预计需要花费 7 分钟才能阅读完成。

作为 Go 开发人员,应该都晓得维持简洁高效开发工作流程的重要性。为了进步工作效率和代码品质,简化开发流程并主动执行重复性工作至关重要。在本文中,咱们将探讨一些弱小的工具和技术,它们将简化 Go 开发过程,助力您的编码之旅。
 

Cookiecutter:应用统一的模板疾速启动我的项目

问题形容

从头开始创立新的 Go 我的项目通常波及设置规范我的项目构造和配置根本文件。此过程可能十分耗时且容易出错。Cookiecutter 通过容许您创立事后配置了所需我的项目构造、依赖项和设置的我的项目模板来提供帮忙
 

要开始应用 Cookiecutter,首先,须要将其装置在您的零碎上:

pip install cookiecutter

 

接下来,在 GitHub 上找到适合的 Go 我的项目模板或创立本人的模板。例如,您能够应用社区创立的自定义 Cookiecutter Go 模板,该模板提供了根本的 Go 我的项目构造:

cookiecutter https://github.com/your-username/golang-cookiecutter

 

Cookiecutter 将提醒您输出一些特定于我的项目的详细信息,例如项目名称、作者和存储库名称。提供信息后,它将创立一个具备所需构造和设置的新我的项目目录。
 

自定义模板容许您依据您的特定需要和偏好对其进行定制,从而确保整个团队的我的项目设置统一。
 

Air:即时重装,高效开发

每次更改后期待代码编译和运行可能会减慢您的开发过程。Air 是一款很棒的工具,它 提供实时从新加载,让您能够立刻看到对 Go 代码所做的更改
 

要装置 Air,您能够应用go get

go get -u github.com/cosmtrek/air

 

装置后,在我的项目目录中创立一个 air.toml 配置文件以指定设置。上面是一个 air.toml 根本示例:

# air.toml
root = "."
tmp_dir = "tmp"
build_dir = "tmp/build"
log_dir = "tmp/log"
app_port = 8080

 

当初,您能够在我的项目目录中运行 Air

air

 

Air 将监测 Go 文件中的任何更改,并在您保留文件时主动重建和重新启动应用程序。这种即时循环反馈可显著放慢开发迭代并进步生产力。
 

Pre-commit Hooks:强制执行代码品质

放弃代码品质对于任何我的项目都是必不可少的 。Pre-commit Hooks 是在每次提交之前运行的脚本,确保您的代码在提交到存储库之前满足特定条件。常见查看包含 代码格局设置、检查和运行测试
 

要应用 Pre-commit Hooks,您须要在零碎上装置 Python 和 Git。首先,应用 pip 装置预提交包:

pip install pre-commit

 

接下来,将文件增加 .pre-commit-config.yaml 到存储库的根目录,以指定要运行的 Pre-commit Hooks:

# .pre-commit-config.yaml
repos:
  - repo: https://github.com/golangci/golangci-lint
    rev: v1.41.1
    hooks:
      - id: golangci-lint

 

在这个例子中,咱们应用 golangci-lint hooks 对咱们的 Go 文件执行代码查看。
 

设置配置后,运行以下命令以装置 Pre-commit Hooks:

pre-commit install

 

当初,每次您尝试提交更改时,Pre-commit Hooks 都会主动运行,查看代码中的任何问题。如果发现任何问题,提交将停止,直到问题失去解决。
 

自定义 Pre-commit Hooks 存储库:跨我的项目共享和重用 Hooks

尽管 Pre-commit Hooks 提供了开箱即用的查看,但您可能心愿增加特定于我的项目的自定义查看。要在多个我的项目之间共享和重用自定义 Hook,您能够创立一个集中的 Pre-commit Hooks 存储库。
 

首先,创立一个新的 Git 存储库来存储自定义 Hook。在此存储库中,您能够增加您喜爱的任何语言编写的自定义 Hook 脚本。例如,您能够编写一个简略的 bash 脚本来查看我的项目中的特定条件。
 

筹备好自定义 Hook 后,将存储库增加到我的项目.pre-commit-config.yaml

# .pre-commit-config.yaml
repos:
  - repo: https://github.com/your-username/custom-pre-commit-hooks
    rev: v1.0.0
    hooks:
      - id: custom-hook

 

当初,当运行 pre-commit install 时,它将从指定的存储库中获取自定义 Hook,并将其蕴含在您的提交前查看中。
 

基于 CLI 的开发:应用自定义命令行界面主动执行工作

命令行界面(CLI)是用于主动执行工作和治理简单我的项目的弱小工具。Cobra 是一个风行的 Go 库,可帮忙您轻松构建弱小的交互式 CLI。
 

要装置 Cobra CLI,请运行:

go install github.com/spf13/cobra-cli@latest

 

装置后,能够应用 Cobra CLI 生成 Cobra 应用程序和命令文件。它简化了搭建应用程序基架的过程,使将 Cobra 合并到 Go 我的项目中变得更加容易
 

要创立新的基于 Cobra 的应用程序,请运行:

cobra-cli init myapp

 

此命令将生成具备必要文件和构造的根本 Cobra 应用程序。而后,您能够在独自的文件中定义命令及其相应的操作。
 

例如,要创立 print 问候音讯的新命令,能够运行:

cobra-cli add greeting

 

Cobra CLI 将创立一个具备根本命令构造的新 greeting.go 文件。您能够自定义此文件以实现问候命令的性能。借助 Cobra CLI,您能够疾速开发功能丰富的 CLI 应用程序,并主动执行各种工作,从而加强开发工作流程。
 

论断

简化 Go 开发对于进步生产力和放弃代码品质至关重要。通过 集成 Cookiecutter 等工具以实现统一的我的项目模板、用于即时实时从新加载的 Air、用于代码质量检查的 Pre-commit Hooks、用于共享和重用 Hook 的自定义 Pre-commit Hooks 存储库 以及 用于构建弱小命令行界面的 Cobra CLI,您能够显著简化 Go 开发工作流程。
 

无论您是开始一个新我的项目还是优化现有我的项目,采纳这些工具和技术无疑将进步开发效率,并使您的 Go 编码之旅更加欢快。应用这些弱小的工具,能够将您的 Go 我的项目简略和高效晋升到一个新的程度。
 

参考链接:
https://medium.com/@joloiuy/simplify-go-development-boost-you…

 

正文完
 0