基本信息
文件名称:如何给C#变量取名字.docx
文件大小:18.97 KB
总页数:7 页
更新时间:2025-05-21
总字数:约3.7千字
文档摘要

如何给C#变量取名字

目录一.变量命名风格1)类成员变量、局部变量2)静态成员变量、枚举值、常量二.变量命名最高境界三.变量命名最佳实践1)采用名词或者形容词来命名变量2)避免使用单字母变量,尽量细化变量含义3)变量命名前后用词需统一4)集合变量用类型或者复数s作为后缀5)禁止使用is作为bool类型的类成员变量前置6)尽量避免使用缩写进行命名7)抛弃掉flag变量

一.变量命名风格

变量命名风格通常会根据不同的变量类型来区分,以Java语言为例,根据变量类型不同有两种命名风格:

1)类成员变量、局部变量

类成员变量、局部变量通常采用驼峰命名风格,如下:

StringuserName;

2)静态成员变量、枚举值、常量

静态成员变量、枚举值、常量通常采用所有字母大写、多个单词以英文下划线连接,如:

publicstaticfinalintMAX_YEARS=25;

//建议枚举类都以Enum结尾

enumColorEnum{

RED(0,红色),

YELLOW(1,黄色),

GREEN(2,绿色),

WHITE(3,白色),

BLACK(4,黑色);

privateintcode;

privateStringname;

Color(intcode,Stringname){

this.code=code;

this.name=name;

二.变量命名最高境界

在函数命名那篇中我们说的函数命名最高境界是见字如面,那么对于变量命名来说,最高境界是什么呢?我认为是:自解释,即代码即注释。

为什么这么说呢,因为通常来说一个函数是会有函数注释的,即使函数名字取的不好,如果注释写的比较清楚,对于后续维护人员来说也是了解函数具体功能的一种方式。

而变量则不同,在一个工程里面,变量的数量远远大于函数的数量,所以不太可能对于每个变量都去写注释,所以如果一个工程的变量命名很糟糕,那么对于后续维护人员来说将是毁灭性的打击,因为每读到一个变量,可能就需要去猜测变量的含义,我想没有哪个人愿意读到这样的代码,永远记住一点:代码是写给人看的,不是写给机器看的。

譬如下面这段代码的命名就非常糟糕:

ppn=(cpn1)(cpn-1):cpn;

npn=(cpntpn)(cpn+1):tpn;

p=newPage(ppn,cpn,npn,tpn);

上面这段代码估计只有原作者清楚地知道各个变量的含义是啥了,

如果修改为下面这种写法,可读性会好很多,并且一目了然,很容易知道其大概意图是计算分页信息:

prePageNum=(curPageNum1)(curPageNum-1):curPageNum;

nextPageNum=(curPageNumtotalPageNum)(curPageNum+1):totalPageNum;

page=newPage(prePageNum,curPageNum,nextPageNum,totalPageNum);

三.变量命名最佳实践

1)采用名词或者形容词来命名变量

变量一般情况下建议使用名词、名字组合或者形容词,因为变量一般形容的是一种事物或者事物的属性,所以用名词或者名词组合更容易让人理解,而形容词一般用于bool类型的变量。

2)避免使用单字母变量,尽量细化变量含义

在程序中,尽量避免使用单字母变量,唯一可以接受使用单字母变量的场景只有for循环,不过还是不太推荐在for循环中使用单字母变量(用pos、index比for循环的i、j、k要好很多)。

举个例子,比如下面这行代码:

doublecalConeVolume(doubleb,doubled){

returnMath.PI*b*b*d/3;

咋一看这个函数参数感觉挺清晰,但是一细看,b是什么?d又是什么?如果我要用这个函数,该怎么传参?估计大部人是一脸懵逼状,只能进去看实际的函数实现才知道b是圆锥体半径,d是圆锥体高度;

那么怎么优化这段代码命名呢?其实很简单,稍微细化一下变量含义,让变量名自己去表达实际意图:

doublecalConeVolume(doubleradius,doubleheight){

returnMath.PI*radius*radius*height/3;

3)变量命名前后