代 碼 設 計 規 範html
1、註釋規範 算法
一、自建代碼文件註釋 數組
對於本身建立的代碼文件(如函數、腳本),在文件開頭,通常編寫以下注釋: ide
/************************************************* 函數
做者: 測試
說明: 優化
建立日期: ui
版本號: this
**********************************************/ 編碼
二、標準註釋
在模塊、類、屬性、方法前一行添加註釋,以便調用的時候提示用戶,下以方法聲明作例子:
///<summary>
///<對該方法的說明>
///</summary>
///<paramname="<參數名稱>"><參數說明></param>
///<returns>
///<對方法返回值的說明,該說明必須明確說明返回的值表明什麼含義>
///</returns>
三、代碼中的註釋
代碼間註釋分爲單行註釋和多行註釋:
單行註釋:
//<單行註釋>
多行註釋:
/*多行註釋1
多行註釋2
多行註釋3*/
代碼中遇到語句塊時必須添加註釋(if,for,foreach,……),添加的註釋必須可以說明此語句塊的做用和實現手段(所用算法、循環條件、不一樣分支的意義等等)。
2、異常處理
一、數據層及服務層異常必需要記錄到服務日誌中
try
{ }
catch (DbEntityValidationException ex)
{ throw new SerivceException ("");}
catch (SerivceException ex)
{throw ex; }
catch (Exception ex)
{throw new SerivceException (""); }
二、業務層及客戶端異常要記錄在文件中
原則異常msg描述清楚所發生錯誤緣由、關鍵必要的參數,已便於客戶端使用者、測試人員及相關研發人員明白錯誤起因。
3、Web頁面
一、出現超出半屏幕的html標籤時須要加註釋 例:<!-- BEGIN 描述 --> <body></body> <!-- End 描述 -->
2、Js命名規則
函數: fn 例: fnMethod
事件: on例: eventBeforeSave
三、單行的 IF - ELSE,WHILE 或者 FOR 語句也 必須 加入括號,不過他們能夠這樣寫:
if (condition){ statement; }
while (condition){ statement; }
for (intialization; condition; update){ statement; }
四、
foreach(var item in list){
foreach(var item1 in list){
foreach(var item2 in list){
}
}
}
3、命名規範
一、程序集命名、命名空間、類(所有爲中文名)
1)程序集:項目域名+項目名稱+模塊名 例:六月版.供應商.業務層
2)命名空間:六月版.供應商.業務層.單據管理 (業務邏輯後綴'管理')
3)類名:訂單
二、方法命名
1)業務層、服務方法命名
以混合命名法爲主,經常使用動詞單詞+中文詞描述+'_'+精確描述
Get*** //'獲取***'
Create*** //'建立***'
Update*** //'更新***'
Del*** //'刪除***'
Save*** //'建立或修改***'
Fill*** //'填充***' 多用於業務邏輯處理
Add*** //'添加***' 多用於業務邏輯處理
Remove*** //'移除***' 多用於業務邏輯處理
例:public VM.訂單 Get訂單信息(string 訂單編號)
public void Update訂單狀態_已出庫(string 訂單編號, string 操做人)
對於獲取多條記錄的方法名要加以 '集'結尾
例:public List<VM.訂單> Get訂單信息集(string 關鍵字)
3) 方法參數所有爲中文名,Mvc Controllers方法參數(全英文)//開頭字母小寫
4) MVC 分佈視圖 _開頭加開頭大寫單詞
三、變量命名
命名空間引用縮寫
業務層: 例:using BS供應商=六月版.供應商.業務層 ;
數據層: 例:using DAO供應商=六月版.供應商.數據層 ;
服務層: 例:using Server供應商=六月版.供應商.服務 ;
視圖模型: 例:using VM供應商=六月版.供應商. 視圖模型
公共類庫: 例:using Comm=DotNet.Common;
變量命名以混合命名法爲主
Sbyte: sbte |
Char: chr |
Short: sht |
Object: obj |
Int: int |
String: str |
Long: lng |
DateTime: dte |
Byte: bte |
IntPtr: intptr |
Ushot: usht |
臨時變量: tmp |
Uint: uint |
Guid: g |
Ulong: ulng |
(s、dao)實體模型: model |
Float: flt |
類的私有變量: m |
Double: dbl |
靜態變量: st |
Decimal: dcl |
常量: const |
Bool: is |
全局: p |
StringBulider: sb |
List:lst |
Array: arr |
枚舉: e |
數組: a |
對象來自視圖:vm |
DbContext:db |
|
整體原則以中文表示所要表示的內容,以變量類型作爲前綴。變量類型作爲前綴是爲了索引方便,使用中文名是爲了意義容易理解。
注:方法的參數變量命名不使用以上規則,返回值變量使用以上規則
Html命名規則
命名 |
說明 |
標準命名舉例 |
doc |
Document |
|
wnd |
Window |
|
frm |
Form |
|
btn |
input type=button |
|
ckb |
input type=checkbox |
|
file |
input type=file |
|
hid |
input type=hidden |
|
img |
input type=image|img |
|
pwd |
input type=password |
|
rdb |
input type=radio |
|
rst |
input type=rest |
|
smt |
input type=submit |
|
txt |
input type=text |
|
sel |
select |
|
tar |
textarea |
|
Table |
tbl |
|
經常使用命名規則
登陸條:loginBar |
加入:joinus |
主導航:mainNav |
標誌:logo |
指南:guild |
頂導航:topnav |
側欄:sidebar |
服務:service |
邊導航:sidebar |
廣告:banner |
熱點:hot |
左導航:leftsideBar |
導航:nav |
新聞:news |
右導航:rightsideBar |
子導航:subNav |
下載:download |
標語:banner |
菜單:menu |
註冊:register |
菜單內容1:menu1Content |
子菜單:subMenu |
狀態:status |
菜單容量:menuContainer |
搜索:search |
按鈕:btn |
子菜單:submenu |
滾動:scroll |
投票:vote |
邊導航圖標:sidebarIcon |
頁面主體:main |
合做夥伴:partner |
註釋:note |
內容:content |
版權:copyright |
容器:container |
標籤頁:tab |
外套:wrap |
登錄:login |
文章列表:list |
主導航:mainNav |
購物車:shop |
提示信息:msg |
子導航:subnav |
當前的curren |
小技巧:tips |
商標:label |
|
頁腳:footer |
整個頁面:content |
|
友情連接:friendLink |
頁眉:header |
|
|
標題:title |
|
定製:Customized |
ID:Id |
編號:Number |
|
|
|
4、編碼優化
1.使用String.Compare()字符串比較
不要使用UpperCase或LowerCase轉換字符串的大小寫,再進行比較
使用String.Compare()可忽略字符串大小寫進行比較
String strTemp = "Active";
If(String.Compare(strTemp,"active",true)==0){
Consolt.Write("Equal");
}
2.避免在循環體裏聲明變量,應該在循環體外聲明變量,在循環體內初始化變量
//避免
For(int i=0;i<10;i++){
SomeClass obj = new SomeClass();
//…
}
//推薦
SomeClass obj = null;
For(int i=0; i<10; i++){
obj = new SomeClass();
//…
}
3.關於this的使用
this可讓人直接看出來調用的是參數或局部變量,仍是類的成員
3.設計原則
補充:
2014/10/08
關於項目中Id或編號的變量、參數等 命名須要注意結名稱尾要加上 **Id **編號 例: 商品Id 商品編號