CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

ASP编写程序的风格!

楼主jamkar(平凡)2003-09-04 08:55:39 在 Web 开发 / ASP 提问

ASP的入门者往往将程序写得很乱,而ASP的程序又是界面结合得那么紧。  
  各位高手有什么的好的程序设计风格,或者应该注意的细节问题,拿出来交流下吗? 问题点数:100、回复次数:27Top

1 楼jamkar(平凡)回复于 2003-09-04 09:08:24 得分 0

upTop

2 楼Primer2002cn(教官)回复于 2003-09-04 09:11:12 得分 5

写程序我比较注重格式,命名法和缩排,我都比较在意,很多朋友说我写程序太累,其实习惯之后不比他们慢!我一般用匈牙利命名标准确性!Top

3 楼lions911(--Administrator--)回复于 2003-09-04 09:16:36 得分 0

写程序我比较注重格式,命名法和缩排,我都比较在意,很多朋友说我写程序太累,其实习惯之后不比他们慢!我一般用匈牙利命名标准确性!  
  ==============================================================  
  写程序我比较注重格式,命名法和缩排,我都比较在意,很多朋友说我写程序太累,其实习惯之后不比他们慢!我一般用土耳其命名标准确性!  
  Top

4 楼abc_rain()回复于 2003-09-04 09:16:37 得分 90

二、文件结构  
  1、   ASP文件头部必须含有option   Explicit语句  
  2、   ASP文件头部应该有文件的如下的描述:重要功能,建立者,建立日期,版本号,及版权申明。申明样例如下:  
  ‘**********************************************************  
  ‘*       index.asp                                                
  ‘*     Copyright   (c)       Company   2000-2002       *  
  ‘*                                     All   rights   reserved                       *  
  ‘**********************************************************  
   
  ‘**********************Description*************************  
  ‘*   Main   function   detail:                                                   *  
  ‘*   Author::   Addson                                                         *  
  ‘*   Date:     2002/12/14                                                   *  
  ‘*   Version:   1.0.0.0                                                         *  
  ‘**********************************************************  
  3、   如果文件需要对数据库进行操作,首部应包含Setconn_NoEnc.asp文件,尾部包含closeconn_NoEnc.   Asp文件。  
  4、   每个ASP文件必须包含6个文件:  
  1)   **Defs_NoEnc.asp,      
  2)   CommFuns_NoEnc.asp,    
  3)   CommFuns_NoEnc.js,  
  4)   CommFuns_NoEnc.vbs  
  5)   Head_NoEnc.asp或Head1_NoEnc.asp(根据asp文件所在目录的不同选择不同的文件)  
  6)   foot_NoEnc.asp  
  关于head_NoEnc.asp及foot_NoEnc.asp的的主要作用是为了方便更改文件的公用信息如菜单名称、及页面最下部的版权等信息。如果有必要还要包含一个cleanHistory_NoEnc.asp的文件。这些文件的主要目的为写代码时又发现需要加另外的function时可以插入代码。  
  5、   语句的缩进包括但不限于以下情况:  
  1)   使用End   if时,在If语句后缩进。  
  2)   在Else语句后缩进。  
  3)   在Select   case语句后缩进。  
  4)   在Case语句后缩进。  
  5)   在Do语句后缩进。  
  6)   已经用了行接续符分割的语句的各个行要缩进。  
  7)   在With语句后要缩进。  
  6、   如果If语句、For语句、Do语句或While语句嵌套大于或等于两层,则在end   if   ,next   ,loop,   wend后要加上注解说明是与哪一个对应的。要注意的是,在循环中的变量也不允许用i,j,也要用有意义的变量。  
  循环变量的命名规则:nmf_类型+变量名。如for   nmf_intArrBound   =   0   to   ubound(nmm_arrNameList)   …  
  7、   对每一个函数(Function)应该说出其功能、输入参数值、输出值(即返回值,分为正常情况返回什么值,异常情况返回什么值),如果返回值有一定的意义(比如为布尔值)时应说明其含义。  
  样例:  
  ‘Author:  
  ‘Verision:  
  ‘Date:  
  ‘[Function   Name]:  
  ‘Function:  
  ‘Para:  
      para1:   name   type   default  
      para2:   name   type   default  
  ‘Return:  
      Normal:  
      Abnormal:  
  ‘  
  实例:  
  ‘Author:   BOB   Lee  
  ‘Version:   1.0  
  ‘Date:   2002-11-4  
  ‘getNameAndSexFromDB(nmm_strnameFieldId,nmm_strsexFieldId):  
  ‘Function:主要功能是根据传入的两个参数值,到Database中取回相应的字符串类型的name和sex的值并返回用逗号分隔的一个字符串。如果传入的两个参数值无效或在Database中不存在,则返回一个空串  
  ‘Para;  
      nmm_strnameFieldId:   在Database中姓名的ID值,有效值应为数字,要做非数字检测  
      nmm_strsexFieldId:   在Database   中性别的ID值,有效值应为数字,要做非数字检测。  
  ‘Return:  
      Normal:返回用逗号分隔的姓名和性别组合的字符串  
                      Abnormal:因传入非法参数、或没能从database取得或程序异常,将返回一个空串。  
  8、   如果If…else…end   if   嵌套太深,应该定义变量,减少层的嵌套,即前部分的判断值为后一条件的判断的条件。  
  9、   一个函数(Function)或过程(sub)只实现一个功能。  
  10、如果一行太长,应使用行接续符且每行对齐,如:  
  nmm_strSelectSQL=   ”select   tblAssemblyDetail.*,”   _  
  “tblInventory.Description,   ”   _  
  “tblInventory.Serials   from   tblInventory.Right   join   “   _              
                          “tblAssemblyDetail   on   ……..”  
  11、在**Defs_NoEnc.asp中定义一全局变量名叫DEBUG,由这个变量来控制是否显示调试用的信息,在项目开发过程中所有的信息都用两个公共函数(function)来负责显示:一个为showDebugInfos:这个函数专门用来显示所有出错信息,出错信息不允许人为加工,要直接输出程序本身报错信息以便定位。(此出错信息只是测试调试用,如果出错信息是给用户看的,不要用这个Function,用下面介绍的Function来显示。)。showDebugInfos的测试信息的显示就由DEBUG变量控制。;另一个为NMMessageDlg,用来显示与用户交互的信息。项目发布后将DEBUG改成False来屏蔽所有的测试用的信息。  
  12、脚本语言的标记必须单独一行。如Asp的<%%>,PHP   <?   ?>等。  
  13、页面输出的信息如提示框,不论是ASP、VBS或Javascript,都必须定义成常量再调用。如:  
  Const   NMC_STR_DELERR="删除操作被取消,有相关记录在使用被删除信息。"  
  Const   NMC_STR_ERR="数据库操作错误,操作被取消。"  
  Const   NMC_STR_INSERR="数据库操作错误,新增操作被取消。"  
  这些常量定义在**Defs_NoEnc.asp文件中。对于javascript和VBScript中要使用的常量也定义在这个文件中。**Defs_NoEnc.asp文件是每个其它文件必包含的,且必须是第一个被包含的文件。**Defs_NoEnc.asp文件中的每一个常量必须有明确说明是哪个文件所有,具体样例如下:  
  ‘‘**********************************************************  
  ‘*       OADefs_NoEnc.asp                                                
  ‘*     Copyright   (c)       Company   2000-2002       *  
  ‘*                                     All   rights   reserved                       *  
  ‘**********************************************************  
   
  ‘**********************Description*************************  
  ‘*     OA项目中所有的常量参数的定义文件                   *  
  ‘*  
  ‘*   Author:   Addson                                                             *  
  ‘*   Date:     2002/12/14                                                       *  
  ‘*   Version:   1.0.0.0                                                             *  
  ‘**********************************************************  
  ‘[Common]   定义被两个及两个以上文件使用的变量  
  ‘开始定义  
  ‘[index.asp]  
  ‘定义属于index.asp文件的常量  
  ‘[gwqfwq.asp]  
  ‘定义属于gwqfwq.asp文件的常量  
  14、Javascript,Vbscript脚本的标记必须统一用标准的,规定如下:  
  开始结束标记必须一模一样,但太小写没关系。这里的一模一样是指其中的引号、空格不能多也不能少,否则就无法用程序清除其中的注解了。  
  javascript:  
  <SCRIPT   LANGUAGE="JavaScript">  
  <!--  
  开始你的代码  
  //-->  
  </SCRIPT>  
  VBScript:  
  <SCRIPT   LANGUAGE="VBScript">  
  <!--  
  开始你的代码  
  //-->  
  </SCRIPT>  
  15、所有applicatoin级的变量(也就是整个系统运行时,各个用户共用的变量),如myDSN站点名字,站点IP等,一律规定必须统一在global.asa文件中定义,其它页面引用就行如:  
  sub   Application_OnStart()  
      Application(“myDSN”)   =   "Driver={SQL   Server};Server=192.168.1.252;    
  Database=Release_EGovernment;Uid=nmkspro;Pwd=123;"  
      Applicaton(“Domain”)   =”   http://newoa3.   .com.cn”  
  end   sub  
  以后其它页面要用到以上变量定义的值,就可以调用。  
  如setConn_NoEnc.asp文件中:  
  <%  
  Dim   nmm_objConn,nmm_strmyDSN  
  If   NOT   IsObject(nmm_objConn)   Then  
    Set   nmm_objConn   =   Server.CreateObject("ADODB.Connection")  
  nmm_objConn.open   Application(“myDSN”)  
  End   If  
  %>  
  Top

5 楼sdliubo(Fuck Japanese!)回复于 2003-09-04 09:22:46 得分 1

最好是做一个模板  
   
  这样新生成的方便可以用模板来直接写代码  
   
  既风格一致又提高了效率Top

6 楼inelm(木野狐)回复于 2003-09-04 09:29:07 得分 1

我也是缩进成习惯了,   命名尽量按照驼峰式命名规则(camel...?),哈  
  一般我最讨厌别人写的没缩进的程序,用拼音命名变量的程序,碰到这样的我看都不要看。Top

7 楼laker_tmj(laker)回复于 2003-09-04 09:40:20 得分 0

up   learnTop

8 楼sinzy(.问号鱼)回复于 2003-09-04 09:49:46 得分 0

嗯,要让代码像诗句一样优美……Top

9 楼chinascprogram(学习者)回复于 2003-09-04 09:51:27 得分 0

继续  
  Top

10 楼sunyc(附庸风雅)回复于 2003-09-04 09:54:53 得分 0

学习ingTop

11 楼BainStudio(胖胖狗)回复于 2003-09-04 09:56:44 得分 0

abc_rain()    
  的编写构成已经很不错了.Top

12 楼CrazyDeng(DengWei)回复于 2003-09-04 09:57:42 得分 1

我写也是比较注重缩进和命名规范,也喜欢把常用的函数写到模块里,用到的时候include就行了,主要是要重视这个web系统的结构,有了整体设计后就能把相关的东西理清。Top

13 楼toffee(飞天)回复于 2003-09-04 10:38:25 得分 1

learn  
  代码格式规范化!!Top

14 楼laker_tmj(laker)回复于 2003-09-06 11:06:38 得分 0

to     sdliubo(Fuck   Japanese!)    
   
  最好是做一个模板  
   
   
  能多談一點給些啟示嗎,謝謝!!!Top

15 楼sportdog(会编程的流氓狗)回复于 2003-09-06 11:37:28 得分 0

以前写asp程序就跟面条一样,现在做asp.net(c#),我靠!害苦了我啊!Top

16 楼xfyz(晓风)回复于 2003-09-06 12:43:07 得分 0

我喜欢功能代码模块化,以免日后重复写!Top

17 楼knot(在路上)回复于 2003-09-06 20:15:41 得分 0

uuu...p.Top

18 楼falcon36017(老猎)回复于 2003-09-06 21:31:37 得分 0

我也是从ASP转学C#ASP。NET   现在郁闷中啊Top

19 楼sear(zhangrui)回复于 2003-09-06 21:40:28 得分 1

我在命名的时候一般用匈牙利命名方法   具体的程序前都有功能描述,开发者,版本号,开发时间  
  如果是函数一般都有   函数调用方法   传入参数说明   传出参数说明   等等    
   
  一般我还是大多采用函数封装的方法   比如更新数据库   专门写一个函数   只要是与更新有关的   都写到update.asp程序里   这样以后好修改  
   
  另外就是关于格式问题   一般才用缩进格式     还有就是注释   一般我平均2行就有一个注释    
  这样以后不关是版本生计   还是程序修改   都有变阅读Top

20 楼dufu(独夫)回复于 2003-09-07 03:28:51 得分 0

1、平时注意编写收集函数,我用一个目录专门存放,一个函数一个文件,名字对应。  
  到时候用include就可以了,客户端脚本也行。  
  2、多注释  
  3、缩进是必然的,不同功能之间用注释行分隔  
  4、文件名和变量宁愿长些,也要容易懂,能用什么什么命名法当然好  
  5、如非必须,尽量不要在一个页面中完成太多的功能  
  6、尽量避免服务器脚本和客户端脚本混编,能写成过程最好。  
  Top

21 楼knot(在路上)回复于 2003-09-07 14:06:58 得分 0

楼上讲的不错~~掌声。Top

22 楼159511454(顺顺利利)回复于 2003-09-07 15:52:09 得分 0

我以前刚学ASP也是和面条一样的,俣哈哈~  
   
  现在稍稍好点了,会用include了,呵呵,这样子比较好,有空多多看一些动网的好程序和snsn的好程序~  
   
  http://www.snsn.net/  
  他们开发出来的动感购物不错哈~  
   
  还有动网论坛的程序,把他看完,半结合自已的习惯。你也快把ASP的精华学到一半了~Top

23 楼SUN1842(sun)回复于 2003-09-07 16:22:13 得分 0

1.引用文件在最前面  
  2.asp代码尽量集中在代码头部  
  3.适当缩进Top

24 楼qunluo(最爱白菜)回复于 2003-09-07 19:48:22 得分 0

case1;  
  模块  
  case2;  
  包含  
  是我的最习惯的!Top

25 楼cloudchen(cloudchen)回复于 2003-09-07 20:11:00 得分 0

定义变量尽量都写在一起,按不同类别分行写Top

26 楼opolmzy(ASP)( 一寸木)回复于 2003-09-07 21:42:13 得分 0

一定要  
  看书+写代码Top

27 楼BainStudio(胖胖狗)回复于 2003-09-07 21:52:09 得分 0

看看老外的代码怎么写的.你可以看看Microsoft的JS脚本.虽然语言不一样.编码规则都是相同的.Top

28 楼kuizis(kuizis)回复于 2003-09-08 13:30:00 得分 0

upTop

相关问题

  • C#中如何编写向导风格的程序?
  • 在win2000下,VC.net怎样编写xp风格的窗口程序
  • 如何编写XP风格(平面化界面)的程序?
  • 如何注释ASP程序, ASP程序用哪种软件编写.
  • 能否在 Win9x 下编写调试 Asp 程序!!!!!!
  • 关于用asp编写 运筹学程序 运行超时的问题!
  • 有关在dreamweaver ultradev4.0下编写ASP程序的问题。望各位指教。
  • 如何用DELPHI将ASP编写的程序改为ISAPI,或DLL形式?
  • 求用ASP编写网站的论文,不要源程序。 100分
  • 我是编写ASP程序的,现在想学JAVA程序,请介绍几本入门书!提者有分!

关键词

  • c#
  • 文件
  • 语句
  • 函数
  • 命名
  • 脚本
  • 代码
  • 页面
  • 模板
  • noenc

得分解答快速导航

  • 帖主:jamkar
  • Primer2002cn
  • abc_rain
  • sdliubo
  • inelm
  • CrazyDeng
  • toffee
  • sear

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo