ASP.NET编码分为两大部分,一部分为客户端的静态文件编码,另一部分为包含服务器端脚本的动态文件编码。静态文件编码分Script编码和HTML编码两部分。服务器端编码则分为服务器脚本、客户端脚本、HTML脚本三部分。 编码规范采用如下约定: 1. 所有客户端脚本一律使用JavaScript 2. 所有服务器端脚本一律使用C# 3. 静态页面输出一律使用HTML脚本 4. 本规范不适用于由服务器端脚本所产生的客户端脚本代码。 ### ASP.NET 编码规范详解 #### 第一章:编码规范概述 ASP.NET 的编码主要分为两大块:客户端静态文件编码与服务器端动态文件编码。客户端静态文件编码涉及Script(通常指的是JavaScript)与HTML标记语言;服务器端动态文件编码则包括了服务器端脚本(一般使用C#)、客户端脚本(此处特指由服务器端动态生成的脚本)以及HTML脚本。为了保证代码的一致性与可维护性,本文档将详细阐述这些不同部分的编码规范。 **重要约定:** - **客户端脚本**一律使用JavaScript。 - **服务器端脚本**一律使用C#。 - **静态页面输出**一律使用HTML脚本。 - **例外情况**:本规范不适用于由服务器端脚本所产生的客户端脚本代码。 #### 第二章:静态文件编码规范 ##### HTML标记语言编码规范 - **换行规范**:每个HTML标记必须独占一行,不允许两个标记出现在同一行(除了同一标记的闭合标记)。 - 示例:`<tr><td>text</td></tr>` 应改为 `<tr>\n<td>text</td>\n</tr>` - **关闭规范**:所有需要关闭的HTML标记,例如 `<html>`、`<title>`、`<body>` 等,必须与其对应的闭合标记同时出现。 - 示例:`<body>...<p>...<font>...<font>...<p>...</body>` - **属性赋值规范**:接受属性的HTML标记,其属性值必须使用双引号(`"`)或单引号(`'`)包围。 - 示例:`<body bgcolor="red">` 或 `<font size='7'>` - **缩进规范**:最高级别的父标记采用左对齐顶格方式书写,下一级标记则向右缩进一个Tab键的距离,以此类推。 - 示例: ```html <html> <body> <p>Text here.</p> </body> </html> ``` ##### 客户端JavaScript规范 - **变量命名规范**:常量以及全局变量名必须全部使用大写字母,变量名首字母必须小写,并且必须使用类型所写字符串开始。 - 示例:整型变量 `int`,字符串变量 `str`。 - 变量示例:`strUserName`、`intUserAge`。 - **变量使用规范**:避免在函数外部定义变量,尽可能限制变量的作用域。 - 示例:使用局部变量而非全局变量。 - **对象命名规范**:对象引用变量使用前缀 `obj`。 - 示例:`objMyObject`。 - **函数命名规范**:函数命名应直观反映其功能,采用PascalCase(Pascal命名法)。 - 示例:`showAlert()`、`getUserInfo()`。 #### 第三章:动态文件编码规范 动态文件编码规范主要涉及C#的编码规则,包括命名规范、注释规范、缩进规范等。 - **命名规范**:类、变量、函数和控件的命名遵循一定的规则。 - 类命名:使用PascalCase,反映类的功能。 - 示例:`UserInfoManager` - 变量命名:首字母小写,后续单词首字母大写。 - 示例:`int userAge` - 函数命名:使用PascalCase,描述函数的功能。 - 示例:`getUserName()` - 控件命名:根据控件类型命名。 - 示例:`txtUsername` - **注释规范**:提供清晰的注释,帮助理解代码逻辑。 - 文件头部注释:简述文件用途、作者等。 - 函数、属性、类注释:描述功能和参数。 - 程序流程注释:关键逻辑点添加注释。 - **缩进规范**:保持代码结构清晰。 - 示例:使用4个空格作为缩进单位。 - **异常处理规范**:使用try-catch块处理可能发生的异常。 - 示例:捕获并记录异常。 - **Request、Session、Application使用规范**:合理使用这些内置对象来存储和检索信息。 #### 第四章:文件命名规范 - **数据库命名规范**:规定了数据文件、表、字段、视图、存储过程的命名规则。 - 数据文件命名:反映文件存储的数据类型。 - 示例:`UsersData.mdf` - 表命名:反映表的主要用途。 - 示例:`tblUsers` - 字段命名:直观描述字段含义。 - 示例:`fldUserID` - 视图命名:描述视图提供的数据视图。 - 示例:`vwUsersSummary` - 存储过程命名:描述存储过程的功能。 - 示例:`spGetUserById` - SQL语句编写:使用有意义的别名,提高SQL查询的可读性。 - **文件夹及文件命名规范**:规定了图片、动态文件等的命名原则。 - 图片命名:反映图片内容。 - 示例:`logo.png` - 动态文件命名:根据文件功能命名。 - 示例:`UserLogin.cs` #### 第五章:良好的编程习惯 - **避免使用大文件**:控制单个文件大小,便于管理。 - **避免写太长的方法**:每个方法实现单一功能。 - **方法命名需能看出它做什么**:直观地反映方法的功能。 - **一个方法只完成一个任务**:增强代码的可读性和可维护性。 - **使用C#的特有类型**:利用C#的特性,提高代码质量。 - **别在程序中使用固定数值**:使用常量或配置文件代替硬编码数值。 - **别用字符串常数**:使用枚举或常量代替硬编码字符串。 - **必要时使用enum**:定义一组固定的选项。 - **别把成员变量声明为public或protected**:使用private修饰符保护内部状态。 - **不在代码中使用具体的路径和驱动器名**:使用配置文件或环境变量指定路径。 - **人性化消息提示**:在用户界面中提供友好且有意义的消息提示。 - **多使用StringBuilder替代String**:在频繁修改字符串时提高性能。 通过上述规范,可以有效地提高ASP.NET应用程序的质量,确保代码的一致性、可读性和可维护性。
剩余16页未读,继续阅读
- 粉丝: 0
- 资源: 10
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于数值积分和摄动方法的建筑装饰金箔使用量计算-Mathematica
- matlab:双或三方演化博弈,lotka-Volterra 1.双方演化博弈:代分析稳定点分析,代绘制相位图,matlab仿真图代码 2.三方演化博弈:代分析稳定点分析,代绘制相位图,matlab仿
- 基于模型预测控制(mpc)的车辆道,车辆轨迹跟踪,道轨迹为五次多项式,matlab与carsim联防控制
- SQL Server数据库实验:表的插入、修改和删除操作实践
- 2011-2020年各省城镇单位就业人员数据.xlsx
- Java windows GUI 案例 简单的飞机售票系统 课程设计
- 基于模型预测控制的楼宇负荷需求响应研究 参考文档:《Model Predictive Control of Thermal Storage for Demand Response》完全复现 主要内容:
- eclipse-sts-2021-03-R-win32-x86-64.rar
- Python的Mongodb操作代码
- 光伏电池PV建模,基于Boost Buck电路实现最大功率追踪MPPT,包括扰动观察法,电导增量法,改进型电导增量法,滑模变结构法等控制算法,模型仿真效果较好,适合借鉴学习 图片为模型图,功率波形
- 交直流混合微网程序matlab 采用拉丁超立方抽样和多场景缩减,考虑风光等随机性建模,利用粒子群算法,计算得到三个微网的优化程序,程序运行稳定,有详细资料 这段代码是一个多目标优化算法的实现,主要用
- 云链客服需要注意的事项
- Microsoft Edge111
- 云链客服需要注意的事项
- 三相桥式两电平逆变器的SVPWM调制和三相T型三电平逆变器的SVPWM模型和说明文档 对比着看绝对有助于你理解SVPWM调制方法 支持MATLAB2017b以上的版本
- mongodb-windows-x86-64-7.0.15-signed.msi