編程習慣

一、接口php

接口路由和參數格式:sql

路由以    https://xx.xxx.com/xxx/xx/is-bind-card 形式對外,後面的形式統一以 - 鏈接字符,參數以  access_token 形式對外,小寫加下劃線
數據庫

二、代碼格式json

每進去一個公司在編寫代碼前,都必需要詢問公司的代碼格式是怎樣的,路由形式、參數格式、變量格式、代碼風格等,保持一致美觀。。。如無,則按照上面的形式。。。api

三、返回接口格式:數組

借鑑下大公司代碼的返回格式,儘可能json,一個值的狀況也用 object 形式緩存

四、檢查寫的每一個接口的執行時間,儘可能優化,減小IO、數據庫鏈接、減小內存消耗等異步

五、日誌函數

任何接口、重要位置都要留下執行日誌:優化

任何接口調用的參數和返回值、功能函數執行的重要步驟、腳本執行的重要步驟、出錯記錄的錯誤

日誌規範,標準定義等:FATAL、ERROR、WARN、INFO

日誌不要有過多無效的、沒用的,沒法定位問題的,需優化更新

info.log:業務關鍵步驟信息。

error.log:業務發生的錯誤以及堆棧信息。

sql_info.log:超過10ms的SQL調用。

api_info.log:api調用的關鍵信息。

rpc_info.log:rpc調用的信息。

日誌格式參考:

traceId,日誌追蹤使用的惟一ID

UID

請求參數

請求客戶端IP(rpc日誌中記錄目標服務端IP端口)

響應參數

處理耗時

日誌的參數必定要帶有可以標識用戶的惟一ID,uid、phone或者其餘均可以,不要用會失效或變化的值,如:token

六、任何代碼都要有 try...catch...,正式環境絕對不要輸出錯誤,PHP的內置函數記得在前面加 @

七、php 換行不要再用 \n,一概用 PHP_EOL

八、類名、函數名用小駝峯寫法,變量名用小寫加下劃線(go是小駝峯),常量名用大寫加下劃線(go無下劃線)

九、接口超時記得設置重試策略,重試再報錯就放進緩存,緩存必定要容易辨識和使用,由腳本或人工解決

十、調用第三方接口防範不穩定的風險,能夠將不是實時更新的信息保存一份到緩存,獲取接口失敗時就用緩存的數據,可是數據比較重要的就仍是實時報錯

十一、使用消息中間件,提升使用體驗,其餘處理丟給後續任務處理,即異步處理

十二、接口的冪等性很重要,特別只要是更新或插入操做都應當是冪等性

1三、能同步的儘可能同步,能夠異步的分開異步

1四、避免多個if-else:

  一、if 直接 return

  二、肯定值變成數組或map,取值返回

相關文章
相關標籤/搜索