經常使用命名css
列表,lUser
數組,arrUser
字符串,strTitle
用,分割的字符串,strStatuss(多個用逗號分割的狀態)
C#
Entity層
統一以E開始,好比EUser,EOrder等
建立的對象爲
var eUser=new EUser();
Repository層(持久化層)
統一以R開始
簡單CURD命名:R+表名,好比RUser等
var rUser=new RUser();
複雜Select命名:R+表名+Select
var rUserSelect=new RUserSelect();
多表複雜查詢命名:R+主表+「_」+連接方式+「_」+副表
RUser_IJ_Order;innerjoin
RUser_LJ_Order;left join
abswhere實現
Equal,NotEqual,EqualGreatThan,GreatThan,EqualLessThan,LessThan,StartWith,EndWith,Contain等
Service層(服務層/邏輯門面層)
統一以S開始
命名:S+業務簡稱
var sUser=new SUser();
Model層(封裝Entity層的數據門面)
命名:M+主表
MUser,懶加載關聯ID和Entity
Json放入Model層中,保證每一個字段有一個屬性,命名採用Json+業務簡稱.cs
Json的字段要保證一個顯示對應一個字段
Controller層
統一以Controller結尾,UserController
css/js/jquery
方法名已駝峯式編寫,好比ajaxEditUser,searchForm
屬性名統一小寫,好比insert,popup,update,del等
css/js文件名統一小寫,common.js,源文件使用common_source.js
關於註釋
每一個類的頭部須要寫
每一個方法頭部須要寫
邏輯代碼保證五行代碼一個註釋
複雜邏輯保證兩行代碼一個註釋
不信任調用方jquery
檢查全部傳入參數的合法性ajax
不隱瞞錯誤數據庫
不捕獲沒法處理的異常,不作異常轉義,可自定義業務異常後端
不公開數據實體數組
最小依賴緩存
減小依賴有狀態組件或服務 儘可能選擇依賴能夠Mock的標準服務(數據庫,緩存)前後端分離
避免過分設計異步
設計考慮改變,也要注意改變並不必定發生 靈活也意味着成本,不要變成隔山打牛 避免調用過載async
抓主線,快速閉環
系統開發初期關注主幹流程的建設,快速閉環,驗證業務是否正確,可否輸出想要的結果 後期打磨再把缺乏的系統配置,參數修改等功能補上
關注優化性能
瓶頸大部分在IO 較少訪問外部資源次數 避免出現笛卡爾乘積 async/await異步不必定快
具有重建能力
能夠從新建立一套乾淨的環境 功能驗證(測試驅動開發) 先後端分離 自動化測試