用go設(shè)計開發(fā)一個自己的輕量級登錄庫/框架吧(項目維護篇)
本篇將開始講講開發(fā)庫/框架的最開始階段,也就是搭建一個項目
源碼:weloe/token-go: a light login library (github.com)
項目結(jié)構(gòu)
項目結(jié)構(gòu),不是上一篇所說的代碼架構(gòu),而是分包,明確的分包更有助于我們的開發(fā)。本框架分包如下
├─.github
│ └─workflows GitHub工作流
├─auth 權(quán)限管理
├─config 配置
├─constant 常量
├─ctx web上下文
│ └─go-http-context
├─error
├─examples 使用示例
├─log 日志
├─model 模型
├─persist 持久層
└─util 工具包
代碼托管以及自動化測試
我們選擇使用GitHub進行代碼托管,同時也使用GitHub Actions進行代碼自動化測試。運行測試代碼以及使用lint檢查代碼規(guī)范。
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
測試
在進行代碼開發(fā)的同時,我們也應(yīng)該進行代碼測試用例的編寫,提高代碼測試覆蓋率,確保我們的代碼的健壯性。
文章來源:http://www.zghlxwxcb.cn/news/detail-438736.html
文檔
文檔可以說是一個開源庫/框架必不可少的東西,我們開始學習一個開源庫/框架也往往是從文檔開始。我們可以使用Docsify,Vuepress等來快速搭建一個文檔網(wǎng)站。關(guān)于如何搭建文檔可以看看這篇隨筆https://www.cnblogs.com/weloe/p/17374287.html文章來源地址http://www.zghlxwxcb.cn/news/detail-438736.html
到了這里,關(guān)于用go設(shè)計開發(fā)一個自己的輕量級登錄庫/框架吧(項目維護篇)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!