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

打印 上一主题 下一主题

主题 890|帖子 890|积分 2670

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

本篇将开始讲讲开发库/框架的最开始阶段,也就是搭建一个项目
源码:weloe/token-go: a light login library (github.com)
项目结构

项目结构,不是上一篇所说的代码架构,而是分包,明确的分包更有助于我们的开发。本框架分包如下
  1. ├─.github
  2. │  └─workflows GitHub工作流
  3. ├─auth        权限管理
  4. ├─config        配置
  5. ├─constant        常量
  6. ├─ctx        web上下文
  7. │  └─go-http-context
  8. ├─error       
  9. ├─examples        使用示例
  10. ├─log        日志
  11. ├─model        模型
  12. ├─persist        持久层
  13. └─util 工具包
复制代码
代码托管以及自动化测试

我们选择使用GitHub进行代码托管,同时也使用GitHub Actions进行代码自动化测试。运行测试代码以及使用lint检查代码规范。
token-go/go.yml at master · weloe/token-go · GitHub
  1. name: Go-Build-Test
  2. on: [push, pull_request]
  3. jobs:
  4.   test:
  5.     runs-on: ubuntu-latest
  6.     strategy:
  7.       matrix:
  8.         go: [ '1.18', '1.19', '1.20' ]
  9.     steps:
  10.       - uses: actions/checkout@v2
  11.       - name: Set up Go
  12.         uses: actions/setup-go@v2
  13.         with:
  14.           go-version: ${{ matrix.go }}
  15.       - name: Run go test
  16.         run: go test -v ./...
  17.   benchmark:
  18.     runs-on: ubuntu-latest
  19.     strategy:
  20.       matrix:
  21.         go: [ '1.18' ]
  22.     steps:
  23.       - uses: actions/checkout@v2
  24.       - name: Set up Go
  25.         uses: actions/setup-go@v2
  26.         with:
  27.           go-version: ${{ matrix.go }}
  28.       - name: Run go test bench
  29.         run: go test -bench=.
  30.   lint:
  31.     runs-on: ubuntu-latest
  32.     steps:
  33.       - uses: actions/checkout@v2
  34.       - name: Set up Go
  35.         uses: actions/setup-go@v2
  36.         with:
  37.           go-version: '1.20'
  38.       - name: golangci-lint
  39.         uses: golangci/golangci-lint-action@v3
  40.         with:
  41.           version: v1.51
复制代码
测试

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

文档

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

河曲智叟

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表