用go设计开发一个自己的轻量级登录库/框架吧(项目维护篇)
本篇将开始讲讲开发库/框架的最开始阶段,也就是搭建一个项目
源码:weloe/token-go: a light login library (github.com)
项目结构
项目结构,不是上一篇所说的代码架构,而是分包,明确的分包更有助于我们的开发。本框架分包如下
├─.github
│ └─workflows GitHub工作流
├─auth 权限管理
├─config 配置
├─constant 常量
├─ctx web上下文
│ └─go-http-context
├─error
├─examples 使用示例
├─log 日志
├─model 模型
├─persist 持久层
└─util 工具包
代码托管以及自动化测试
我们选择使用GitHub进行代码托管,同时也使用GitHub Actions进行代码自动化测试。运行测试代码以及使用lint检查代码规范。
token-go/go.yml at master · weloe/token-go · GitHub
name: Go-Build-Test
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
go: [ '1.18', '1.19', '1.20' ]
steps:
- uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go }}
- name: Run go test
run: go test -v ./...
benchmark:
runs-on: ubuntu-latest
strategy:
matrix:
go: [ '1.18' ]
steps:
- uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go }}
- name: Run go test bench
run: go test -bench=.
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: '1.20'
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
with:
version: v1.51
测试
在进行代码开发的同时,我们也应该进行代码测试用例的编写,提高代码测试覆盖率,确保我们的代码的健壮性。
文章来源:https://www.toymoban.com/news/detail-438736.html
文档
文档可以说是一个开源库/框架必不可少的东西,我们开始学习一个开源库/框架也往往是从文档开始。我们可以使用Docsify,Vuepress等来快速搭建一个文档网站。关于如何搭建文档可以看看这篇随笔https://www.cnblogs.com/weloe/p/17374287.html文章来源地址https://www.toymoban.com/news/detail-438736.html
到了这里,关于用go设计开发一个自己的轻量级登录库/框架吧(项目维护篇)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!