開發(fā)禁忌
- 禁止系統(tǒng)物理刪除數(shù)據(jù)(可根據(jù)規(guī)范定期清理歷史無效數(shù)據(jù));
- 禁止在控制器寫業(yè)務(wù)邏輯晒喷;
- 禁止在事務(wù)中調(diào)用接口孝偎;
- 禁止嵌套事務(wù),嵌套事務(wù)不易掌控凉敲;
- 禁止提交本地日志衣盾、測試文件、測試數(shù)據(jù)到倉庫爷抓;
- 禁止硬編碼势决,使用 .env 配置文件(如:接口地址、環(huán)境參數(shù))蓝撇;
- 大表禁止刪除字段 —— 避免索引重建果复,通過備注說明字段“已失效”;
- 大表禁止更新字段名稱渤昌、類型虽抄、減少長度 —— 避免索引重建;
- 項(xiàng)目內(nèi)文件存儲(chǔ)独柑,非 OSS 存儲(chǔ)對象迈窟,只存相對路徑。
安全準(zhǔn)測
- 服務(wù)啟用 SSL忌栅,敏感信息必須使用 POST 請求车酣;
- 接口一律使用 Oauth2 鑒權(quán);
- 必須使用 PDO 庫執(zhí)行 SQL(避免 SQL 注入)索绪;
- 前端安全防范:XSS湖员、CSRF;
- 文件上傳必須校驗(yàn)格式并且重命名者春,文件目錄關(guān)閉執(zhí)行權(quán)限破衔;
- 日志文件敏感數(shù)據(jù)過濾(登陸密碼、交易密碼钱烟、銀行卡號(hào)晰筛、身份證號(hào)等);
- 敏感數(shù)據(jù)操作必須記錄日志拴袭。
編碼規(guī)范
- 業(yè)務(wù)配置流水化读第,歷史數(shù)據(jù)關(guān)聯(lián)配置快照;
- 涉及文件上傳(如:圖片拥刻、附件)怜瞒,使用 OSS 服務(wù);
- 前端防止重復(fù)點(diǎn)擊,接口防止重復(fù)提交吴汪;
- 并發(fā)控制使用 Redis 原子鎖惠窄;
- 記錄所有調(diào)用第三方接口的請求日志;
- 導(dǎo)入數(shù)據(jù)上傳的文件需備份且記錄關(guān)聯(lián)的操作(可定期歸檔)漾橙;
- 回調(diào)接口杆融、消費(fèi)端處理必須保證冪等性。
數(shù)據(jù)操作
- SQL 查詢霜运、刪改條件必須使用索引脾歇;
- 數(shù)據(jù)導(dǎo)入導(dǎo)出異步處理;
- 盡量不做聯(lián)表查詢淘捡,杜絕兩個(gè)業(yè)務(wù)領(lǐng)域的聯(lián)表查詢藕各;
- 迭代 SQL 發(fā)布,支持提前執(zhí)行(增量焦除、冪等)激况。
心中秩序
- 注釋、注釋踢京、注釋誉碴,一定要寫注釋宦棺;
- 修改被人引用的代碼瓣距、別人寫的代碼,通知相關(guān)人并加入注釋代咸。
編程規(guī)范系列