代 码 设 计 规 范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 商品编号