系统编码规范
1. 目的
为了统一开发过程中关于代码编写时的编写规范和具体开发工作时的编程规范,保证代码的一致性,便于交流和维护,特制定此规范。
2.适用范围
本规范适用于开发组全体人员,为详细设计,代码编写和代码审核提供参考和依据。
3. 代码格式
在编写代码过程中,建议遵循以下规则。
(1)缩进 规则:使用四个空格作为每层次代码的缩进值。
(2)在括号对对齐的位置垂直对齐左右括号,如:
For(i=0;i++)
{
….
}
(3)沿逻辑结构行缩进代码,如:
If…then
If…then
…
Else
…
End if
Else
…
End if
(4)为了防止在阅读代码时左右滚动代码编辑器,每行代码或注释不得超过一个显示屏。
(5)当一行分别为几行时,通过将串联运算符放在每行的末尾而不是开头,清楚地表示没有后面的行是不完整的。
(6)Case 规则:default case 总应该存在,如果不允许到达,则应该保证:若到达了就会触发一个错误。Case的选择条件最好使用int或string类型。
(7)对齐规则:变数的申明和初始化都应对齐。
4. 注释规范
4.1. 块注释
//用户名非空验证+长度验证+合法性验证 | |
function checkUserName(){ | |
var name = User; | |
if(name.value==""){ | |
alert("请输入用户名"); | |
name.focus(); | |
return false; | |
}else if(name.value.length<4||name.value.length>16){//用户名长度验证 | |
alert("用户名输入的长度4-16个字符"); | |
name.select(); | |
return false; | |
} | |
4.2. 行注释
用户名非空验证+长度验证+合法性验证 | |
function checkUserName(){ | |
var name = User; | |
if(name.value==""){ | |
alert("请输入用户名"); | |
name.focus(); | |
return false; | |
}else if(name.value.length<4||name.value.length>16){//用户名长度验证 | |
alert("用户名输入的长度4-16个字符"); | |
name.select(); | |
return false; | |
} | |
//用户名输入合法性验证 | |
for(var i=0;i<name.value.length;i++) | |
{ | |
var charTest=LowerCase().charAt(i); | |
if( (!(charTest>='0' && charTest<='9')) && (!(charTest>='a' && charTest<='z')) && (charTest!='_') ) | |
{ | |
alert("会员名包含非法字符,只能包括 a-z、0-9 和下划线"); | |
name.select(); | |
return false; | |
} | |
} | |
return true; | |
} | |
//密码非空验证+确认验证+长度验证 | |
function checkPass(){ | |
var Pass; | |
var RPass; | |
if(pass.value==""){ | |
alert("密码不能为空"); | |
pass.focus(); | |
return false; | |
}else if(pass.value.length<6||pass.value.length>12){ | |
alert("密码长度为6-12个字符"); | |
pass.select(); | |
return false; | |
} | |
4.3. 尾随注释
//获取用户名文本框中的值int m = 4 ;
//获取密码框中的值
//用户名长度验证
4.4. 注释哪些部分
项目 | 注释哪些部分 |
参数 | 参数用来做什么 任何约束或前提条件 |
字段/属性 | 字段描述 |
类 | 类的目的 已知的问题 类的开发/维护历史 |
接口 | 目的 它应如何被使用以及如何不被使用 |
局部变量 | 用处/目的 |
成员函数注释 | 成员函数做什么以及它为什么做这个 哪些参数必须传递给一个成员函数 成员函数返回什么 已知的问题 任何由某个成员函数抛出的异常 成员函数是如何改变对象的 包含任何修改代码的历史 如何在适当情况下调用成员函数的例子适用的前提条件和后置条件 |
成员函数内部注释 | 控制结构 代码做了些什么以及为什么这样做 局部变量 难或复杂的代码 处理顺序 |
5.命名
5.1.命名的基本约定
(1) 要使用可以准确说明变量/字段/类的完整的英文描述符,如firstName。对一些作用显而易见的变量可以采用简单的命名,如在循环里的递增(减)变量就可以被命名为 ” i ”。
(2)要尽量采用项目所涉及领域的术语。
(3) 要采用大小写混合,提高名字的可读性。为区分一个标识符中的多个单词,把标识符中的每个单词的首字母大写。不采用下划线作分隔字符的写法。有两种适合的书写方法,适应于不同类型的标识符:
PasalCasing:标识符的第一个单词的字母大写;
camelCasing:标识符的第一个单词的字母小写。
下表描述了不同类型标识符的大小写规则:
标识符 | javascript说明大小写 | 示例 |
命名空间 | Pascal | namespace Com.Techstar.ProductionCenter |
类型 | Pascal | public class DevsList |
接口 | Pascal | public interface ITableModel |
方法 | Pascal | public void UpdateData() |
属性 | Pascal | Public int Length{…} |
事件 | Pascal | public event EventHandler Changed; |
私有字段 | Camel | private string fieldName; |
非私有字段 | Pascal | public string FieldName; |
枚举值 | Pascal | FileMode{Append} |
参数 | Camel | public void UpdateData(string fieldName) |
局部变量 | Camel | string fieldName; |
6.首页代码
<SCRIPT type="text/javascript" language="javascript"> | |
function checkForm(){ | |
if(checkUserName()&&checkPass()&&checkEmail()&&checkDate()){ | |
return true; | |
}else{ | |
return false; | |
} | |
} | |
//用户名非空验证+长度验证+合法性验证 | |
function checkUserName(){ | |
var name = User; | |
if(name.value==""){ | |
alert("请输入用户名"); | |
name.focus(); | |
return false; | |
}else if(name.value.length<4||name.value.length>16){//用户名长度验证 | |
alert("用户名输入的长度4-16个字符"); | |
name.select(); | |
return false; | |
} | |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论