一. 代碼規范
1. Service/DAO 層方法命名規約
1) 獲取單個對象的方法用 get 做前綴。
2) 獲取多個對象的方法用 list 做前綴,復數結尾,如:listObjects。
3) 獲取統計值的方法用 count 做前綴。
4) 插入的方法用 save/insert 做前綴。
5) 刪除的方法用 remove/delete 做前綴。
6) 修改的方法用update 做前綴。
摘自:
2. SQL語句規范
1)SQL 語句中表的別名前加 as,並且以 t1、t2、t3、...的順序依次命名。
select t1.name from table_first as t1, table_second as t2 where t1.id=t2.id;
摘自:
二. 接口規范
項目接口是基於REST構建的API也就是RESTful架構風格設計。
在RESTful架構中,每個URL代表一種資源,所以不能有動詞,只能有名詞,而且所用的名詞往往與數據庫的表格名對應。一般來說,數據庫中的表都是同種記錄的"集合",所以API中的名詞也應該使用復數。
最佳案例
- https://youlai.store/users GET 獲取所有用戶信息
- https://youlai.store/users/1 GET 獲取標識為1用戶信息
- https://youlai.store/users/1 DELETE 刪除標識為1用戶信息
- https://youlai.store/users/1 Patch 更新標識為1用戶部分信息,包含在body中
- https://youlai.store/users POST 添加新的用戶
- https://youlai.store/users/me GET 獲取當前用戶信息
如果記錄數量很多,服務器不可能都將它們返回給用戶。API應該提供參數,過濾返回結果。
- ?limit=10:指定返回記錄的數量
- ?offset=10:指定返回記錄的開始位置。
- ?page=2&per_page=100:指定第幾頁,以及每頁的記錄數。
- ?sortby=name&order=asc:指定返回結果按照哪個屬性排序,以及排序順序。
- ?animal_type_id=1:指定篩選條件
參考:
三. Git規范
1. Commit message的格式規范
Commit message 包括三個字段:type(必需)、scope(可選)和subject(必需)。
<type>(<scope>): <subject>
1).type
type用於說明 commit 的類別,規范使用以下標識。
- feat:新功能(feature)
- fix:修補bug
- docs:文檔(documentation)
- style: 格式(不影響代碼運行的變動)
- refactor:重構(即不是新增功能,也不是修改bug的代碼變動)
- test:增加測試
- chore:構建過程或輔助工具的變動
- revert:回滾到上一個版本
- merge:代碼合並
- sync:同步主線或分支的Bug
2).scope
scope用於說明 commit 影響的范圍,比如數據層、控制層、視圖層等等,視項目不同而不同。
3). subject
subject是 commit 目的的簡短描述,不超過50個字符。
最佳案例
git commit -m docs(README.md):分支修改項目說明文檔
格式化Commit message的好處
1). 快速預覽歷史
git log <last tag> HEAD --pretty=format:%s
2). 快速過濾查找
git log <last release> HEAD --grep feature
3). commit生成Change log
Change Log 是發布新版本時,用來說明與上一個版本差異的文。
參考:
2. 分支開發主干發布模式
禁止在主干直接修改代碼,需在開發分支開發並在測試環境測試通過之后由相關人員同步到主干
最佳案例
[master] > git fetch origin dev
[master] > git checkout dev
[dev] > git add .
[dev] > git commit -m docs(README.md):分支修改項目說明文檔
[dev] > git push origin dev
[dev] > git checkout master
[master] > git merge dev
[master] > git push origin master
四. 錯誤碼規范
有來商城項目錯誤碼需參照 Java開發手冊【泰山版】 的錯誤碼列表
五.數據表設計規范
1. 表必備三個字段: id, gmt_create , gmt_modified
其中 id 必為主鍵,類型為 unsigned bigint、單表時自增、步長為 1。gmt_create,
gmt_modified 的類型均為 date_time 類型,前者現在時表示主動創建,后者過去分詞表示被
動更新。
摘自:
項目源碼
項目名稱 | github | gitee |
---|---|---|
后台 | youlai-mall | youlai-mall |
管理前端 | youlai-mall-admin | youlai-mall-admin |
微信小程序 | youlai-mall-weapp | youlai-mall-weapp |