2.3 程序编写规范

视频讲解:光盘\TM\lx\2\08程序编写规范.mp4

本节将详细介绍代码的书写规则以及命名规范,使用代码书写规则和命名规范可以使程序代码更加规范化,对代码的理解与维护起到至关重要的作用。

2.3.1 代码书写规则

代码书写规则通常对应用程序的功能没有影响,但它们能改善对源代码的理解。养成良好的习惯对于软件的开发和维护都是很有益的,下面介绍一些代码书写规则。

尽量使用接口,然后使用类实现接口,以提高程序的灵活性。

尽量不要手工更改计算机生成的代码,若必须更改,一定要改成和计算机生成的代码风格一样。

关键的语句(包括声明关键的变量)必须要写注释。

建议局部变量在最接近使用它的地方声明。

不要使用goto系列语句,除非是用在跳出深层循环时。

避免写超过5个参数的方法。如果要传递多个参数,则使用结构。

避免书写代码量过大的try-catch模块。

避免在同一个文件中放置多个类。

生成和构建一个长的字符串时,一定要使用StringBuilder类型,而不用string类型。

switch语句一定要有default语句来处理意外情况。

对于if语句,应该使用一对“{ }”把语句块包含起来。

尽量不使用this关键字引用。

2.3.2 命名规范

命名规范在编写代码中起到很重要的作用,虽然不遵循命名规范,程序也可以运行,但是使用命名规范可以很直观地了解代码所代表的含义。下面列出一些命名规范,供读者参考。

(1)用Pascal规则来命名方法和类型,Pascal的命名规则是第一个字母必须大写,并且后面的连接词的第一个字母均为大写。

【例2.7】定义一个公共类,并在此类中创建一个公共方法,代码如下。

        public class User                                      //创建一个公共类
        {
            public void GetInfo()                              //在公共类中创建一个公共方法
            {
            }
        }

(2)用Camel规则来命名局部变量和方法的参数,Camel规则是指名称中第一个单词的第一个字母小写。

【例2.8】声明一个字符串变量和创建一个公共方法,代码如下。

        string strUserName;                                              //声明一个字符串变量strUserName
        public voidaddUser(string strUserId, byte[] byPassword);         //创建一个具有两个参数的公共方法

(3)所有的成员变量前加前缀“_”。

【例2.9】在公共类DataBase中声明一个私有成员变量_connectionString,代码如下。

        Public classDataBase                                   //创建一个公共类
        {
        private string connectionString;                       //声明一个私有成员变量       
         }

(4)接口的名称加前缀“I”。

【例2.10】创建一个公共接口Iconvertible,代码如下。

        public interface Iconvertible                             //创建一个公共接口Iconvertible
        {
              byte ToByte();                                      //声明一个byte类型的方法
        }

(5)方法的命名,一般将其命名为动宾短语。

【例2.11】在公共类File中创建CreateFile方法和GetPath方法,代码如下。

        public class File                                        //创建一个公共类
        {
            public void CreateFile(string filePath)              //创建一个CreateFile方法
            {
            }
            public void GetPath(string path)                     //创建一个GetPath方法
            {
            }
        }

(6)所有的成员变量声明在类的顶端,用一个换行把它和方法分开。

【例2.12】在类的顶端声明两个私有变量_productId和_productName,代码如下。

        public class Product                                     //创建一个公共类
        {
            private string_productId;                            //在类的顶端声明变量
            private string_productName;                          //在类的顶端声明变量
            //创建一个公共方法
            public void AddProduct(string productId, string productName)
            {
            }
        }

说明 在类中定义私有变量和私有方法,变量和方法只能在该类中使用,不能对类进行实例化,对其进行调用。

(7)用有意义的名字命名空间namespace,如公司名、产品名。

【例2.13】利用公司名和产品名命名空间namespace,代码如下。

        namespace Zivsoft                                     //公司命名
        {
        }
        namespace ERP                                         //产品命名
        {
        }

(8)使用某个控件的值时,尽量命名局部变量。

【例2.14】创建一个方法,在方法中声明一个字符串变量title,使其等于Label控件的Text值,代码如下。

        public string GetTitle()                                  //创建一个公共方法
        {
          stringtitle=lbl_Title.Text;                             //定义一个局部变量
          return title;                                           //使用这个局部变量
        }

说明 在定义有返回值的方法时,必须在设置方法时,定义方法的类型,并在方法体结束后用return返回值。