如何寫出高可用、魯棒性強的介面呢?我們設計介面的時候需要考慮以下幾點:
1. 入參校驗:非空校驗,格式校驗(如手機號格式),業務校驗(如充值金額必須大於0);
2. 短路式寫法,非正常分支判斷前置;
3. 非查詢類介面都要考慮 重複請求、併發請求,保證介面的冪等性;
可能觸發重複請求或消費的場景:(1)網路波動(2)分布式訊息消費(3)使用者重複操作(4)重試機制
服務冪等常見做法:
4. 查詢類介面 根據業務 考量是否需要加快取,以便快速讀取;
5.考慮請求超時的情況;
6.考慮部分成功部分失敗的情況
7. 狀態流轉不可逆,即更新狀態時必須有前置狀態;
8. 避免for迴圈呼叫下層服務;
9. 防止空指標異常;
10. 需要人工干預的關鍵業務節點進行業務報警;
11. 敏感資訊展示脫敏、儲存加密;
12. 規範**,單個方法不超過60行,方法注釋準確清晰;
13. 充分自測,寫整合測試、mock測試,提高提測質量。
歡迎補充...
如何寫出好函式
寫 和寫別的東西很像。在寫 或文章時,你先想什麼就寫什麼,然後再打磨它。初稿也許粗陋無序,你就斟酌推敲,直至達到你心目中的樣子。我寫函式時,一開始都冗長而複雜。有太多縮排和巢狀迴圈。有過長的引數列表。名稱是隨意取的,也會有重複的 不過我會配上一套單元測試,覆蓋每行醜陋的 然後我會打磨這些 分界函式 ...
如何寫出最快的迴圈
作者 laruence 你知道怎麼寫出最快的迴圈麼?剛剛在曉東郭的 blog 看到乙個有趣的問題 php 中 i 和 i 的區別 1.方式一 2.3.begin time 4.i 0 5.while i 10000 6.12.end time 13.14.時間 16s 15.16.方式二 17.18...
如何寫出簡單的程式
簡單的程式,要求其結構簡單,目的明確,易閱讀和理解。簡單,總是有助於程式的正確性。現在我們來 一下如何將程式寫得簡單。首先,先說命名的問題,包括目錄結構名,檔名,類名,變數名等。命名應使用統一的命名規則和常識。統一的命名是程式設計師之間交流的common sence,不同的命名會增加程式閱讀的難度 ...