.NET代码规范解析

在说代码规范之前我们先了解一下什么是规范,规范意指符合逻辑,客观、真实、全面。明文规定或约定俗成的标准。我们今天要分享的代码规范则是程序员在编写代码时要遵循的符合逻辑,约定俗成的标准。

一、为什么要有代码规范?

作为小白级别的程序员,我们在刚开始编写代码时往往不知道要从何下手,就像我们第一次敲百例一样,我们并不知道代码的逻辑是什么,我们第一步做的是站在巨人的肩膀上,看别人的代码学习。之后随着学习的深入我们开始自己编写一些代码,自己写程序,然后开始组团队一起编写代码,逐渐发现我们要经常看别人的代码。那么问题就出现了,如果我们所看的代码是按照统一的规范来编写的,并且我们也了解编写的规范,那么看起来是不是会很顺心,效率很高啊,反之,如果我们看的代码,都是编写人员随意命名的,变量都是缩写,那我们肯定没有心情看下去了,但如果是非看不可的代码,如交接代码,那我们肯定是要骂人了。

二、代码规范的宗旨是什么?

代码规范的宗旨就一条,那就是让人看得懂,看得方便。

三、代码规范都有哪些?

1、注释:

注释分为三种:

单行注释:双斜杠 //

MessageBox.Show(ex.Message);  //用户输入错误信息后提示

多行注释:以  “/*” 为开头 以 “*/” 结尾对多行代码进行注释

 /*
注释的内容
*/

代码块注释:三斜杠 ///,用来具体标注代码块的用途,参数和返回值。

        /// <summary>
        /// 验证使用者用户是否存在
        /// </summary>
        /// <param name="values">验证的ID</param>
        public void CheckID(params object[] values)
        {
            IDALUser idal;
            UserFactory fact = new UserFactory();
            UserInfoEntity user = new UserInfoEntity();
            user.Id = Convert.ToInt32(values[0]);
            idal = fact.User(); //实例化用户DAL层
            if (idal.SelectUserInfo(user).Count == 0)  //判断是否有该用户
            {
                throw new Exception("没有该用户");
            }
        }

快速注释代码的快捷键:ctrl+k+c

快速取消注释的快捷键:ctrl+k+u

2、命名

我们常用的两种命名方式:Camel(驼峰)命名,Pascal(帕斯克)命名。

Camel:第一个单词的首字母小写,后面的单词首字母大写。

Pascal:每个单词的首字母均大写。

①、为什么命名要统一标准?

请问,如果我将方法写成Usernameinputwrapincomment,你知道我要表达什么吗,可读性很绝望有没有。

如果我改用Camel或Pascal

userNameInputWrapIncomment、UserNameInputWrapIncomment

②、什么时候用Camel,什么时候用Pascal?

在C#中变量、字段、参数采用Camel命名

变量:
        RestrictedInput limt = new RestrictedInput();  //实例化限制类
字段:
        private string userName;
参数: 
        private void txtName_KeyPress(object sender, KeyPressEventArgs e)
        {
            limt.InputNumBs(e);  //限制类调取只能输入数字的方法
        }

在C#中类名、方法名、属性采用Pascal命名

类名:
    public partial class ManagerLoginForm : Form
    { 

    }

方法名:
    public void Check(params object[] values)
        {
            foreach (string obj in values)  //遍历values的值,判断是否为空
            {
                if (obj == "")  //如果文本为空
                {
                    throw new Exception("请将信息填写完整");  //抛出提示信息
                }
            }
        }


属性:
    public string UserName
        {
            get
            {
                return _userName;
            }

            set
            {
                _userName = value;
            }
        }

注:C#中的常量不采用以上两种命名方式,而是所有字母大写的方式进行命名。

③、常量的命名

常量的命名规则与变量和方法有些许不同,常量的命名:每个单词的每个字母均大写,单词之间通过下划线分隔

例如:READ_KEY

3、缩写

所有的代码中只有一个地方可以用缩写,其他地方都禁止使用缩写。

for循环中的i变量,i++,i--可以用缩写,其他地方都禁止使用缩写。

4、分层中的类名命名

我们在编写程序时,少则分为三层,在每层的类命名中,除类名采用Pascal命名之外,还需要在类名后面加上对应的层标识。

例如:

BLL层:BasicDataBLL

DAL层:BasicDataDAL

Entity层:BasicDataEntity(注:实体作为参数使用时,前面需要加en标识)

5、数据库表名命名

数据库表名采用T_表名的方式进行命名,表名首字母大写。

6、小括号与关键字的间隔

小伙号与关键字中间要有空格作为间隔,提高可阅读性。

7、版本号的小秘密

我们经常看到V1.00,V1.01,V1.10,V2.00,那你们知道他们当中的区别是什么么,每个位置代码了什么具体含义呢?

小数点前一位代表的是全局变化,即代码大变动的迭代。

小数点后第一位代表的是在原基础上添加功能的迭代。

小数点后第二位代表局部修改或bug修改的迭代。

 

 

1、无需设置 由于它是一个便携式工具,它不需要您将其安装在目标计算机上,因为只需拆包其存档并启动可执行文件即可完全访问其功能。 您还可以从可移动存储介质(如USB闪存驱动器或外部HDD)运行它。此外,它不会修改系统中的注册表项,也不会在您的PC上生成其他文件或文件夹,但未经您的明确许可。 2、综合界面 dnSpy配备了一个时尚,全面的用户界面,包含广泛的有用功能,它们整齐地组织在主窗口的标准菜单中。 更重要的是,它具有标准配置窗口,您可以在其中调整各种组件的设置,如其反编译器,调试器或十六进制编辑器,但也可以修改显示或其他参数。 3、.NET反汇编程序 如果您需要一个高效的工具,可以通过为您提供各种有用的工具来帮助您反编译.NET程序集,您可以转到dnSpy。它配有一个反编译器,一个调试器,一个十六进制编辑器和一个程序集编辑器,让你以有效的方式处理程序集。 主窗口附带了一个Assembly Explorer窗格,您可以在其中访问所需程序集的树视图。您可以通过从计算机指定适当的文件或使用“从GAC打开”选项打开程序集,该选项为您提供全局程序集缓存中可用的条目列表。 4、.NET程序集的可靠反向工程工具 所有考虑的事情,dnSpy是一个方便的应用程序,使您能够以有效的方式逆向工程.NET程序集,为您提供广泛的有用工具,包括反编译器,程序集编辑器和调试器。它不需要安装,具有全面,平滑的用户界面,并为您提供了一个标准配置窗口,您可以在其中调整各种组件的设置。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Elsa~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值