求 ASP编写规范

be00 2003-05-15 11:50:34
asp完全是自学,自己写的代码太看不顺眼了

找了一上午,什么都没有找到
...全文
26 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tigerwen01 2003-05-15
  • 打赏
  • 举报
回复
编写ASP时要注意:
1、ASP代码要写在<%%>之间
2、在一些需要做注释的代码后面写上注释。用单引号(')标识注释
gshope 2003-05-15
  • 打赏
  • 举报
回复
如果你是用VBS,基本按照VB的规范就可以了。
Triumph 2003-05-15
  • 打赏
  • 举报
回复
VBScript编码约定

编码约定是帮助您使用 Microsoft Visual Basic Scripting Edition 编写代码的一些建议。编码约定包含以下内容:

对象、变量和过程的命名约定
注释约定
文本格式和缩进指南
使用一致的编码约定的主要原因是使脚本或脚本集的结构和编码样式标准化,这样代码易于阅读和理解。使用好的编码约定可以使源代码明白、易读、准确,更加直观且与其他语言约定保持一致。

常数命名约定
VBScript 的早期版本不允许创建用户自定义常数。如果要使用常数,则常数以变量的方式实现,且全部字母大写以和其他变量区分。常数名中的多个单词用下划线 (_) 分隔。例如:

USER_LIST_MAX
NEW_LINE
这种标识常数的方法依旧可行,但您还可以选择其他方案,用 Const 语句创建真正的常数。这个约定使用大小写混合的格式,并以“con”作为常数名的前缀。例如:

conYourOwnConstant
变量命名约定
为提高易读和一致性,请在 VBScript 代码中使用以下变量命名约定:

子类型 前缀 示例
Boolean bln blnFound
Byte byt bytRasterData
Date (Time) dtm dtmStart
Double dbl dblTolerance
Error err errOrderNum
Integer int intQuantity
Long lng lngDistance
Object obj objCurrent
Single sng sngAverage
String str strFirstName


变量作用域
变量应定义在尽量小的作用域中。VBScript 变量的作用域如下所示:

作用域 声明变量处 可见性
过程级 事件、函数或子过程。 在声明变量的过程中可见。
Script 级 HTML 页面的 HEAD 部分,任何过程之外。 在脚本的所有过程中可见。


变量作用域前缀
随着脚本代码长度的增加,有必要快速区分变量的作用域。在类型前缀前面添加一个单字符前缀可以实现这一点,而不致使变量名过长。

作用域 前缀 示例
过程级 无 dblVelocity
Script 级 s sblnCalcInProgress


描述性变量名和过程名
变量名或过程名的主体应使用大小写混合格式,并且尽量完整地描述其目的。另外,过程名应以动词开始,例如 InitNameArray 或 CloseDialog。

对于经常使用的或较长的名称,推荐使用标准缩写以使名称保持在适当的长度内。通常多于 32 个字符的变量名会变得难以阅读。使用缩写时,应确保在整个脚本中保持一致。例如,在一个脚本或脚本集中随意切换 Cnt 和 Count 将造成混乱。

对象命名约定
下表列出了 VBScript 中可能用到的对象命名约定(推荐):

对象类型 前缀 示例
3D 面板 pnl pnlGroup
动画按钮 ani aniMailBox
复选框 chk chkReadOnly
组合框、下拉列表框 cbo cboEnglish
命令按钮 cmd cmdExit
公共对话框 dlg dlgFileOpen
框架 fra fraLanguage
水平滚动条 hsb hsbVolume
图像 img imgIcon
标签 lbl lblHelpMessage
直线 lin linVertical
列表框 lst lstPolicyCodes
旋钮 spn spnPages
文本框 txt txtLastName
垂直滚动条 vsb vsbRate
滑块 sld sldScale


代码注释约定
所有过程的开始部分都应有描述其功能的简要注释。这些注释并不描述细节信息(如何实现功能),这是因为细节有时要频繁更改。这样就可以避免不必要的注释维护工作以及错误的注释。细节信息由代码本身及必要的内部注释来描述。

当传递给过程的参数的用途不明显,或过程对参数的取值范围有要求时,应加以说明。如果过程改变了函数和变量的返回值(特别是通过参数引用来改变),也应在过程的开始部分描述该返回值。

过程开始部分的注释应包含以下区段标题。相关样例,请参阅后面的“格式化代码”部分。

区段标题 注释内容
目的 过程的功能(不是实现功能的方法)。
假设 其状态影响此过程的外部变量、控件或其他元素的列表。
效果 过程对每个外部变量、控件或其他元素的影响效果的列表。
输入 每个目的不明显的参数的解释。每个参数都应占据单独一行并有其内部注释。
返回 返回值的解释。


请记住以下几点:

每个重要的变量声明都应有内部注释,描述变量的用途。
应清楚地命名变量、控件和过程,仅在说明复杂细节时需要内部注释。
应在脚本的开始部分包含描述该脚本的概述,列举对象、过程、运算法则、对话框和其他系统从属物。有时一段描述运算法则的假码是很有用的。
格式化代码
应尽可能多地保留屏幕空间,但仍允许用代码格式反映逻辑结构和嵌套。以下为几点提示:

标准嵌套块应缩进 4 个空格。
过程的概述注释应缩进 1 个空格。
概述注释后的最高层语句应缩进 4 个空格,每一层嵌套块再缩进 4 个空格。例如:
'*********************************************************
' Purpose: Locates the first occurrence of a specified user
' in the UserList array.
' Inputs: strUserList(): the list of users to be searched.
' strTargetUser: the name of the user to search for.
' Returns: The index of the first occurrence of the strTargetUser
' in the strUserList array.
' If the target user is not found, return -1.
'*********************************************************
Function intFindUser (strUserList(), strTargetUser)
Dim i ' Loop counter.
Dim blnFound ' Target found flag
intFindUser = -1
i = 0 ' Initialize loop counter
Do While i <= Ubound(strUserList) and Not blnFound
If strUserList(i) = strTargetUser Then
blnFound = True ' Set flag to True
intFindUser = i ' Set return value to loop count
End If
i = i + 1 ' Increment loop counter
Loop
End Function
kywlw 2003-05-15
  • 打赏
  • 举报
回复
晕死~~~~~~~
这么多东东,呵呵,变量名又长又难记,还是用自己的方法命名好一点~~~~~
Triumph 2003-05-15
  • 打赏
  • 举报
回复
http://www.microsoft.com/china/msdn/library/vbscrip5/vbscodingconventions.htm
stormhu 2003-05-15
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/1433/1433042.xml?temp=.580929
cboy2003 2003-05-15
  • 打赏
  • 举报
回复
tt
GageCSDN 2003-05-15
  • 打赏
  • 举报
回复
这个你可发参考一下:(@只代表标题符号)

@页面设计部分
@@img控件
alt:所有展示类图片都要具有能简要描述图片内容的文字说明。
@@Input控件
maxlength:所有INPUT控件都需要制定maxlength属性,默认值为数据库中对应的字段的长度。
readonly:所有不可更改的信息都要使用readonly属性。
@@Form控件
action:所有Form都要指定action,如果提交给本身就指定action=""
method:尽量使用post方式
onsubmit:所有form都要指定提交前需要的检查程序。
所有form都要有对应的reset button。
@@button控件
onclick:form中用于提交的button不容许使用此方法,所有数据检查通过form的onsubmit激活。
@@head属性
所有叶面都要具有不为空的head属性。
@@控件的命名
采用控件类型缩写(小写)+英文单词(第一个字母大写)的方法。
开发中控件基本涉及一下几类
button:btn
form:frm
select:sel
textarea:txt
input:ipt
@@语言设置
所有中文页面都要加上如下语句:
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
@@控件属性赋值
所有控件的属性值都要使用双引号或者单引号包括起来。

@客户端程序部分
@@错误提示信息的处理(1-1)
所有错误信息全部使用中文提示错误信息,标点使用中文半角符号,格式如下:
"错误:"+提示信息+"!"
@@成功提示信息的处理(1-2)
所有成功信息全部使用中文提示成功信息,标点使用中文半角符号,格式如下:
"成功:"+提示信息+"!"
@@鼠标双击处理
所有用来显示内容的页面在鼠标双击时都要滚屏。
@@页面的返回
所有需要返回上一页的时候使用history.back();不使用history.go(-1);
需要返回前n页(n>1)时使用history.go(-n);
所有返回都使用连接的方式而不是button(这个就没必要这么死)。
@@提交前数据的判断
保证提交前的数据都会通过JavaScript进行数据类型以及长度的判断
是否为数字:使用函数isNaN()
长度判断: 长度要判断去掉前后空格后的实际长度
为空判断: 所有不容许为空的输入字段都要在去掉前后空格后进行判断,同时如果该字段为查询条件则必须不能为空
如果判断条件发现数据错误,则通过(1-1)提示错误信息,然后通过方法focus()聚焦错误字段。
@@删除数据前的提示
所有涉及删除的操作,在用户选定以后都要再进行一次确认操作。

@服务器端程序部分
@@数据的取得
通过Get,Post,连接传递过来的数据在使用前都要通过trim去掉数据前后的空格。
@@数据的判断
通过request的得到的参数数据需要再次进行空,类型,和长度的判断。
@@对象的关闭
所有数据库和文件对象都要在使用后尽可能早的close,同时赋nothing。
@@提示信息
所有错误提示信息使用JavaScript提示,保证使用者看不到任何内部错误信息。(如1-1)
涉及数据库Update,Del,Insert的操作成功都要提示。(如1-2)
@@变量的使用
所有变量在使用前都需要声明,并且赋初值。
@@变量的命名
采用变量类型缩写(小写)+英文单词(第一个字母大写)的方法。
开发中变量基本涉及一下几类
整数:i
小数:f
字符: s
布尔:b
日期:d
特殊的:
循环依次采用i,j,m,n;
数组用ary
指针p,q
临时变量tmp

@SQL语句
@@排序
order时应该尽量提前使用建立索引或者主键的字段排序。
@@select
select时避免使用*,即使需要所有字段也应尽量一个一个按照使用的顺序罗列出来。

@测试
所有页面要在800*600,1024*768两种分辨率下运行通过。
所有页面要在IE5.0,5.5以及6.0下运行通过没有JavaScript错误。
lsrzm 2003-05-15
  • 打赏
  • 举报
回复
http://www.xiasp.com/school/asp/2002,618,94832.htm
be00 2003-05-15
  • 打赏
  • 举报
回复
在哪里有下载的么....

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧