c#的一些应用(5)

2019-06-11 09:21

不要显示抛出或捕获;

12.4. 自定义异常类型设计规则: 避免太深的继承层次; 要从已有的异常基类继承;

异常类要以“Exception”做为后缀;

要使异常可序列化,使其能跨应用程序域和远程边界仍能正常使用; 要把与安全性有关的信息保存在私有的异常状态中 12.5. 异常与性能

如果在普通场景都会抛出异常,要采用先效验合法性的方式来避免抛出异常引起的性能 问题;

13. 其他规定

为避免频繁改动代码,代码中只写比较简单的和不会经常发生变化的SQL,如果SQL 经常发生变化或是比较复杂,存到SysMisc中,比如统计用到的SQL;

在VS2005开发环境中,采用代码分析工具来做自动化的代码分析,以保证代码质量, 具体的使用建议如下:

A)启用代码分析,并设置当风格不符合要求时为错误而不是警告; B)如果不是做代码审核,此开关应关闭。加上了这个选项的时候编译很慢; C)详设的时候打开开关,检查详设是否符合编程规范; D)所有的选项都应当打开。以下内容需要单独设置:

编码 名称 大类 用法规则

建议

使用等级 警告

CA2209 程序集应声明最小安全性 不建议使用

CA1814 与多维数组相比,首选使性能规用交错的数组

则 性能规则

使用,但降低等 警告

CA1822 将成员标记为 static 较繁锁,且影响代码质量 禁用 禁用

CA2210 程序集应具有有效的强名设计规影响Xcopy部署

CA1302 则

禁用

不要对区域设置特定的字全球化很繁琐,并且工具支持的不好。全球化规则全符串进行硬编码 检查 Sql 查询中是否有安全漏洞

规则

部禁用

CA2100 安全性都采用参数化查询,有可能会参数过长;如果规则

是内部参数,也不会有安全问题

警告

14. 参考文档

《.NET设计规范》,本规范很多内容都参考了这本书,书中对规范背后的背景和原则做了深入讨论;

<逆水行舟,不进则退>

C# 编码规范和编程好习惯

2011-2-23 来源:网络

命名惯例和规范

注记: Pascal 大小写形式-所有单词第一个字母大写,其他字母小写。 Camel大小写形式-除了第一个单词,所有单词第一个字母大写,其他字母小写。 类名使用Pascal 大小写形式 public class HelloWorld { ... }

方法使用Pascal 大小写形式 public class HelloWorld {

void SayHello(string name) { ... } }

变量和方法参数使用Camel 大小写形式 public class HelloWorld {

int totalCount = 0; void SayHello(string name) {

string fullMessage = \... }

}

不要使用匈牙利方法来命名变量

以前,多数程序员喜欢它-把数据类型作为变量名的前缀而m_作为成员变量的前缀。例如: string m_sName; int nAge;

然而,这种方式在.NET编码规范中是不推荐的。所有变量都用camel 大小写形式,而不是用数据类型和m_来作前缀。

用有意义的,描述性的词语来命名变量

- 别用缩写。用name, address, salary等代替 nam, addr, sal - 别使用单个字母的变量象i, n, x 等. 使用 index, temp等 用于循环迭代的变量例外: for ( int i = 0; i < count; i++ ) { ... }

如果变量只用于迭代计数,没有在循环的其他地方出现,许多人还是喜欢用单个字母的变量(i) ,而不是另外取名。

- 变量名中不使用下划线 (_) 。 - 命名空间需按照标准的模式命名 ...

文件名要和类名匹配

例如,对于类HelloWorld, 相应的文件名应为 helloworld.cs (或, helloworld.vb) 缩进和间隔

缩进用 TAB . 不用 SPACES.。 注释需和代码对齐.。

花括弧 ( {} ) 需和括号外的代码对齐.。 用一个空行来分开代码的逻辑分组。. bool SayHello (string name) {

string fullMessage = \DateTime currentTime = DateTime.Now;

string message = fullMessage + \: \MessageBox.Show ( message ); if ( ... ) {

// Do something // ... return false; }

return true; }

这段代码看起来比上面的好: bool SayHello ( string name ) {

string fullMessage = \DateTime currentTime = DateTime.Now;

string message = fullMessage + \: \MessageBox.Show ( message ); if ( ... ) {

// Do something // ... return false; }

return true; }

在一个类中,各个方法需用一空行,也只能是一行分开。 花括弧需独立一行,而不象if, for 等可以跟括号在同一行。 好: if ( ... ) { // Do something }

不好: if ( ... ) { // Do something }

在每个运算符和括号的前后都空一格。. 好: if ( showResult == true ) {

for ( int i = 0; i < 10; i++ ) { // } }

不好: if(showResult==true) {

for(int i= 0;i<10;i++) { // } }

良好的编程习惯

遵从以下良好的习惯以写出好程序

避免使用大文件。如果一个文件里的代码超过300~400行,必须考虑将代码分开到不同类中。 避免写太长的方法。一个典型的方法代码在1~25行之间。如果一个方法发代码超过25行,应该考虑将其分解为不同的方法。 方法名需能看出它作什么。别使用会引起误解的名字。如果名字一目了

然,就无需用文档来解释方法的功能了。

好: void SavePhoneNumber ( string phoneNumber ) {

// Save the phone number. }

不好: // This method will save the phone number. void SaveData ( string phoneNumber ) {

// Save the phone number. }

一个方法只完成一个任务。不要把多个任务组合到一个方法中,即使那些任务非常小。 好: // Save the address. SaveAddress ( address );

// Send an email to the supervisor to inform that the address is updated. SendEmail ( address, email ); void SaveAddress ( string address ) { // Save the address. // ... }

void SendEmail ( string address, string email ) {

// Send an email to inform the supervisor that the address is changed. // ... }

不好: // Save address and send an email to the supervisor to inform that the address is updated.

SaveAddress ( address, email );

void SaveAddress ( string address, string email ) { // Job 1.

// Save the address. // ... // Job 2.

// Send an email to inform the supervisor that the address is changed. // ... }

使用C# 或 VB.NET的特有类型,而不是System命名空间中定义的别名类型。 好: int age; string name;


c#的一些应用(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:无效婚姻的认定及处理

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: