用go设计开发一个自己的轻量级登录库/框架吧(项目维护篇)

1|0用go设计开发一个自己的轻量级登录库/框架吧(项目维护篇)

本篇将开始讲讲开发库/框架的最开始阶段,也就是搭建一个项目

源码:weloe/token-go: a light login library (github.com)

2|0项目结构

项目结构,不是上一篇所说的代码架构,而是分包,明确的分包更有助于我们的开发。本框架分包如下

├─.github │ └─workflows GitHub工作流 ├─auth 权限管理 ├─config 配置 ├─constant 常量 ├─ctx web上下文 │ └─go-http-context ├─error ├─examples 使用示例 ├─log 日志 ├─model 模型 ├─persist 持久层 └─util 工具包

3|0代码托管以及自动化测试

我们选择使用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

4|0测试

在进行代码开发的同时,我们也应该进行代码测试用例的编写,提高代码测试覆盖率,确保我们的代码的健壮性。

5|0文档

文档可以说是一个开源库/框架必不可少的东西,我们开始学习一个开源库/框架也往往是从文档开始。我们可以使用Docsify,Vuepress等来快速搭建一个文档网站。关于如何搭建文档可以看看这篇随笔https://www.cnblogs.com/weloe/p/17374287.html


__EOF__

本文作者秋玻
本文链接https://www.cnblogs.com/weloe/p/17390824.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   秋玻  阅读(563)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 我与微信审核的“相爱相杀”看个人小程序副业
点击右上角即可分享
微信分享提示