代码整洁优化不得不提的技巧系列-命名规范化

神在细节之处!

1、名副其实,减少代码的模糊度

如消逝的日期以日记:int eclapsedTimeInDays
自创建来的时间以日记:int daysSinceCreation

2、避免误导性 

避免使用与本意相悖的命名,如List,除非变量真是List不然会引起误导,同时不要命名两个变量差异很小的变量,容易混淆。

3、做有意义的区分

避免以数字系列命名,如 char a1[], char  a2[]这种作为函数的参数别人也很难理解作者的意图,如果能用具体的对象名称命名则会容易理解多了。
避免使用难以区分的命名,如getClass()与getClassInfo,这样的命名很难区分本意。

4、使用读的出来的命名

不要用中文拼命(多音字那么多怎么理解得完)、不要用英文首字母拼(很难理解)但是可以用大家都明白的英文缩写。
如:Date kaiShiShiJian 跟 Date startTime 哪个更好理解?

5、使用可搜索的名字

名称的长短应与其作用域相对应。你的变量作用域越大变量名应越长,因为可能在此变量的作用域的子方法中存在与该变量名类似命名(如在该变量名基础上加长了),那么你搜索该变量时会搜索到这些类似变量的地方去,这是你不希望看到的结果。特别像‘e’,'i'这种单字母变量仅仅适合作为短方法的本地变量,如for循环。

6、类名

类名应该是名词或名词短语,不能使用动词。同时应该避免可识别度不高的的名词,如Data、Info等。

7、方法名

方法名应该为动词或动词短语。如savaCustomerInfo()、postPayment()等,常用的前缀有:set、get、delete、post、is等
重载构造器时,可以用描述了参数的静态工厂方法名来替代默认构造方法。
如 Complex fulcrumPoint = Complex.FromRealNumber(23.0);

8、避免使用语境不明确的变量

如学生的基础信息:fristName、adress、parentName如果加上语义前缀“stu”就更能清楚这些变量是指学生的个人信息了。

9、优化if else 

可以使用创建类的方式来优化if esle这种看起来很邋遢的编程语句:
 

private void printStudentInfo(string classID)
{
        string studentID;
        string studentName;
        string parentName;
        if(classID == '001')
        {
                // Your Solution Code
        }
        else if(classID == '002')
        {
                // Your Solution Code
        }
        else
        {
                // Your Solution Code
        }

}
//像这种代码你可以在该方法的基础上使用switch case来整理。
//也可以用创建类的方式来整理:
pubic class PrintStudentInfo
{
        private string student;
        private string studentName;
        private string parentName;
        public void make(string classID)
        {
                swtich(classID)
                {
                        case:"001": function1();
                        case:"002": function2();
                        ...
                }
        }
        //Just For Examble
        function1()
        {
                ...
        }
        ...
}
发布了32 篇原创文章 · 获赞 6 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_41278749/article/details/105324428
今日推荐