文章分类 - Go工程化
好的结构是一个项目的灵魂和基石
摘要:1.前言 前面的章节讲述了项目结构, 依赖注入,API设计,包管理,单元测试。。。基本上还是将工程化当中的大部分东西都讲到了。 结合前面文章中提到的各种知识来看一下如何将一个老的项目迁移到新的项目结构当中来,这里面的坑也非常的多。 2. 重构前 2.1 目录结构 你的目录结构可能是这样的。 ├──
阅读全文
摘要:1. 前言 很多人都提到过测试的重要性,而在所有的测试类型当中,以单元测试为代表的单元测试无疑是成本最小,性价比最高的一种,而且有的公司为了保证质量会要求单元测试覆盖率的指标 那么对于Go程序而言,项目结构上进行单元测试的编写,如何可以做到又快又好? 2. 单元测试简明教程 2.1 go test
阅读全文
摘要:1. Go Module 简明教程 1.1 使用 Go Module 初始化 go mod init github.com/mohuishou/go-mod-example 执行上述命令会在当前目录下生成一个 go.mod 文件 go.mod 文件记录如下 module github.com/moh
阅读全文
摘要:前言 在工程化项目目录结构中大概讲了下api目录, 但是并没有详细说明,此篇讲详细讲解API项目结构。 API设计 分为四个部分: API 的项目目录结构,在项目中 api 该如何组织,以及 api 依赖该如何处理 API 该如何设计,包括错误码的设计 如何构造一个protobuf的代码生成器,自动
阅读全文
摘要:1. 前言 1.1 什么是依赖注入? 为了让代码可测或者可以运行,将各个module的顺序按业务逻辑进行初始化,比如首先进行config初始化,再初始化log模块,再然后是数据库,再然后实例化客户端, 这个过程其实就是依赖注入,而通常我们会在main.go做依赖注入,这就导致main.go会越来越臃
阅读全文
摘要:简介 代码工程化,一般是包含 目录结构,代码分层,依赖注入等等。 代码工程化中也会有很多架构的思想,不管是处于代码整洁还是工程化,建议对 《代码整洁之道》有所了解。 注意,如果只是写一些简单的逻辑或者脚本,或者是做一些简单的 demo 大可不必像文章接下来介绍的这样搞的这么麻烦,直接一个 main.
阅读全文