實際開發(fā)當中,開發(fā)容易遇到哪些問題
- 設(shè)計稿中提示語言經(jīng)常改動
- 大部分小公司沒有完整的設(shè)計稿
- 大部分開發(fā)者英文水平欠佳,變量命名很糟糕,導致拖累開發(fā)進度
- 不必要的錯誤碼設(shè)計。如:非管理員行使管理員權(quán)限,此等為非法操作,不應(yīng)該單獨增加錯誤提示
我們?yōu)槭裁葱枰e誤碼
- 錯誤碼主要是為了業(yè)務(wù)需要而設(shè)計的
錯誤碼面向哪些群體
- 用戶,用戶需要知道具體的錯誤信息。如:提示登錄密碼錯誤
- 前端開發(fā)者,開發(fā)者需要知道具體的業(yè)務(wù)錯誤信息。如:非管理員做管理員操作
- 后端開發(fā)者,開發(fā)者需要知道具體的業(yè)務(wù)錯誤信息,給前端開發(fā)者提示
用戶對錯誤碼的要求
- 不關(guān)心錯誤碼代號
- 反饋信息要準確、言辭要委婉
- 支持多語言(可選項)
- 不同業(yè)務(wù)操作時,同一錯誤碼提示不同(可選項)
- 結(jié)論:
- 后端返回錯誤碼及通用提示信息給前端排查問題,具體提示給用戶的信息應(yīng)由前端開發(fā)定義。
開發(fā)者對錯誤碼的要求
- 需要根據(jù)錯誤碼執(zhí)行指定操作
- 需要明確的錯誤提示
- 當某個業(yè)務(wù)操作失敗時,能夠迅速定位到業(yè)務(wù)異常處,并給出合理解釋。(非代碼異常)
我的錯誤碼設(shè)計
重點說明
- 一個正常的客戶端應(yīng)該對某一些操作請求加以限制,當這些操作不滿足條件卻被發(fā)起時,統(tǒng)一返回非法操作錯誤碼,為配合前端開發(fā),將會在開發(fā)階段返回提示具體的錯誤信息。而不是為每個錯誤信息編碼,以減輕工作量和維護成本。以下示例:
- 非管理員身份發(fā)起管理員權(quán)限操作
- 非好友關(guān)系發(fā)起解除好友關(guān)系操作
- 發(fā)起指定請求缺少參數(shù),參數(shù)類型錯誤
- 請求非法不支持
- 無權(quán)限訪問
- 服務(wù)端不應(yīng)該過度驗證。以下示例:
- 用戶設(shè)置密碼,輸入兩次新密碼,應(yīng)由前端校驗是否一樣
- 用戶使用舊密碼設(shè)置新密碼,新舊密碼一致,應(yīng)由前端校驗是否一樣
返回結(jié)構(gòu)
{
"data": {}, # 數(shù)據(jù)段
"code": "0", # 錯誤碼
"msg": "成功" # 提示(面向前端開發(fā)者,上線可關(guān)閉,節(jié)約流量)
}
錯誤碼設(shè)計(緩更)
OPERATION_SUCCESS 0 成功
OPERATION_INVALID 1000 操作非法
OPERATION_FREQUENT 1001 操作頻繁
ERROR_UNKNOWN 1100 未知錯誤
ERROR_SERVER 1101 服務(wù)器異常
ERROR_SERVER_OTHER 1102 第三方服務(wù)器異常
AUTH_EXPIRE 2000 身份認證信息已失效
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。