【2012/9/23~2012/9/25】 编程规范之命名原则(附9.28的变量不用L原则)

来源:互联网 发布:淘宝客会终止合作吗 编辑:程序博客网 时间:2024/05/07 01:59
// // // // // // // //
///2012/9/23
// // // // // // // //
今天是第一天,跟大家说一下编程最基本的规范问题。
首先是命名,
变量以及函数方法名称尽量采用骆驼式命名法(我记不清具体什么名字了)
也就是尽量像如下所示:
int horizonSpeed;void setPosition();


// // // // // // // //
///2012/9/24
// // // // // // // //
今天的内容继续是命名原则中较为特殊的一个——
大写命名。
一般而言,全部大写命名的变量都是作为常量来使用。
比如说
#define PI 3.14(c语言版)const float PI = 3.14; (c++版)


诸如此类的。
其实目的只有一个,
就是能够将数字更为显式地表达。
比如说:
假定一个加速度常量,下面的代码
const float ACCELERATION = 1.5f;const int TIME= 5;float Speed = ACCELERATION*mathf.pow(TIME,2);


就比
float Speed = 1.5*mathf.pow(5,2);//此处1.5为加速度,5为时间

显得更为直观。
另外不得不说一下的就是枚举类型,
其实这个很独特的类型就是专门为了让数字显示化表示的。
因此,大家在今后的编程中,
要尽量将一些经常使用数字常量使用枚举类型来表示,
这让能让读代码的人(包括自己)也更容易去理解。


// // // // // // // //
///2012/9/25
// // // // // // // //
按照昨天的预告,
我们今天继续来讲命名的原则。
今天的原则很短,
只有一条,
但是确实很多程序员(尤其是新手)都无法遵守的一条:
无论是变量还是方法或是文件,起名字不用担心过长。
比如说,
我们要获取两个重力加速度:地球上的与火星上的。

或许可以这么写:


float getGravityE();//获取地球重力加速度float getGravityM();//获取火星重力加速度



但是,要记住,

读代码的人可不会这么认为,


他或许会想:

getGravityM()或许是获取月球(Moon)上的重力加速度呢.
相比你再用注释去说明,
或许将名字改的更为详细一点是更好的解决方案:

float getGravityOnTheEarth();

float getGravityOnTheMars();


不用担心名字过长,
因为这是个好时代,

——你有IDE可以帮你智能补全。


// // // // // // // //
///2012/9/28
// // // // // // // //
在继续讲注释以前,
忽然想到一个关于变量命名的比较有趣但是也很实用的规则,
跟大家分享一下。
维生素式命名法,
不知道大家还有没有印象。


int a1,b2;
这种命名法是新手最为常用的命名原则,
当然,
或许不只是限于新手。


因为确实有些地方可以这样使用,
比如说:局部变量(临时变量)

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


没错,
在这些地方使用单一的小写字母是可以的。
但是,
我要跟大家讲的是一个特殊的规则:
——不要拿'L'与'O'的小写字母以及'i'的大写字母命名.
为什么?
请看下面:


第一行: I l 1 |
第二行: 0 O
答案已经显而易见了:
大写的i与小写的L及数字1与分隔符|根本让人无法区分,
同理还有0与O。


或许你曾经没有这样做过,
但是最好不要这样做。

原创粉丝点击