ASP程序开发规范
2018-02-08 11:22 Evan 阅读(55) 评论(0) 收藏 举报- 开发工具和平台
- 代码编辑工具:VS2005、notepad,editplus;
- 程序运行在本地,数据库连接SERVER1;
- 代码规范
- 程序目录的定义:对应的模块有对应的目录,更细一级别也有对应的目录设置,如果需要增加,Email通知大家
- ASP文件的定义:
- 文件名反映了页面的功能和逻辑动作,必须用英文小写来定义,单词间用下划线分开比如:event_new.asp,event_save.asp
- 文件名中通用词
- 新建输入页面:xxxx_new.asp
- 新建/修改/删除保存页面:xxxx_save.asp
- 查询条件输入页面:xxxx_query.asp
- 查询结果/列表页面:xxxx_list.asp
- 详细业务对象信息修改/查看页面:xxxxx_detail.asp
- 选择器页面:xxxxx_finder.asp
- 目录及菜单:
- 根目录下程序框架中的菜单文件: menu_crm.xml,menu_eng.xml为系统菜单文件,中、英文需要修改同步;
- 图片资源(images):为所有资源图片,不要加入任何无意义的图片;
- 包含文件文件夹(include):该文件夹中为前后端包含文件,包括公共ASP函数和Javascript函数及其css文件,通用功能函数必须在这些文件中定义;
- 上传文件(doc):需要上传或生成文件时,必须将文件放到跟目录DOC文件夹下;
- COM组件(dll):系统所需的所有COM组件必须放在应用程序根目录\dll下,到酒店安装的时候也必须如此;
- ASP页面内元素定义:
- 包含文件
- asp: include/conn.asp
- js: include/checkinfo.js;include/cele_date.js
- css: include/main.css
- 声明变量:
- 与数据库对象映射相关的变量,用户页面间接收传递,变量名称应该与数据库对象保持一致:比如字段对应界面控件;
- 过程中使用的其他变量使用标准编码规范:类型+名称:比如:strSQL,iCount等等;
- 声明变量要放在页面顶端;
- 界面控件
- 命名采用与数据库中对象保持一致,小写英文,界面间传递需要用Hidden控件传递,不要用Session和?QueryString;
- 页面跳转及所有功能操作都用JS事件来触发解决;
- 给界面上的控件设置初始值时,一定注意要加双引号,特别是用变量赋值时一定注意增加双引号,例如:
正确: <input name="abc" value="120"> <input name="abc" value="<%=变量%>"> 错误: <input name=abc value=120> <input name=abc value=<%=变量%>>
- Javascript:Java函数代码应该写在<head></head>;
- VBscript:除非特殊情况(COM调用),否则不建议使用VBScript来前端验证;
- 包含文件
- 中英文双语:
- 通过Conn里面的特殊函数和页面rs变量实现
- 开发过程中直接用中文描述界面元素,功能实现完毕之后,通过T.Exe工具实现双语
- sql语句编写注意事项:
- 所有insert语句时一定要将表中的字段列出来,例如:
insert dic_color(code,name,sort_id) values(' '...) 不能使用 insert dic_color values(...) - 对于拼接语句时,注意增加单引号,例如:
where hotel_code='1000001' Or update hotels set type='2003'
- 左右连接两个表尽量用join on,因为2005中不支持‘*=’了;
- 所有insert语句时一定要将表中的字段列出来,例如:
SQL语句中的变量,该用什么型,就用什么型,如果需要格式拼装,通过中间变量或者convert加上格式参数的方式,看看SQL Convert函数就什么都明白了。 SQL帮助中有CAST和convert函数的对比,大家可以研究一下;
这个问题延伸出另一个问题:
- 有些sp中需要接收2个时间做查询条件,页面上要求做年、季度、月、日报表;
- 第一种是在页面处理时间,不管做什么时间类型的报表,都处理成完整的日期类型,即yyyy-mm-dd;
- 第二种是在sp中处理时间,这样做传入的参数就不是一个完成的日期类型参数,可能是年,可能是年+月,这样变量就不能定义成日期类型,只能定义成varchar;
在我们的程序规范中,一般用第一种,大家注意一下,是个小技巧问题。
浙公网安备 33010602011771号