变量及其命名

第十章  使用变量的通常事项 第十一章 变量名的力量php

1.变量定义与声明安全

隐式声明:使用一个未声明的变量的时候,编译器自动声明该变量。(即不通过定义便可直接使用)函数

隐式声明是不安全的,不建议使用。spa


2.变量初始化原则作用域

1)在声明变量的时候初始化该变量。例如 $amount = 100;文档

2)在靠近变量首次使用的地方(声明)初始化该变量。input

糟糕实践:编译器

function Demo()it

{io

$age;

.......

.......


$workingYear = $age + 24;

.................................

}


最好使用:

function Demo()

{

$age;

$workingYear = $age + 24;

.......

.................................

}

3)在可能的状况下,使用final关键字确保变量初始化后不会被改变。

4)注意计数器和累加器。在下一次使用做为计数器或累加器的变量时候,不要忘记重置其值。

5)在类的构造函数里初始化该类的数据成员。


3.做用域

变量的做用域是指变量在程序内的可见和可引用的范围。

1)使变量引用局部化。

尽量把对某个变量的引用集中在一块儿,有助于代码阅读。

2)减少做用域的通常原则:

a)在循环开始以前去初始化该循环里使用的变量,而不是在该循环所属的子程序的开始处初始化这些变量。

b)直到变量即将被使用时再为其赋值。

c)把相关语句放到一块儿。

d)若是有必要,将相关语句提取成单独的子程序。

e)开始时采用严格的可见性,而后根据须要拓展变量的做用域。

4.变量名

为变量命名是一项很重要的事情,为变量命名时须要考虑的重要事情是,该名字要彻底、准确地描述出该变量所表明的事物。

(1)变量名中的计算值限定词

计算值限定词:即表示计算结果的词,例如总额(total)、平均值(average)、最大值(max)等。

若是使用限定词,记住把限定词加到名字最后。

例如:expenseTotal、revenueAverage等

(2)特定类型数据命名

a)循环下标命名

通常而言,做为循环下标的变量约定俗成的采用i,j,k等进行命名,然而,若是某个变量须要在循环完毕后使用,那么应该取一个更有意义的名字。例如如下代码:

$recordCount = 0;

while(!emptyDocument())//从文档读取记录

{

$score[$recordCount] = GetScore();

$recordCount++;

}

$recordNum = $recordCount;//循环外使用


b)为状态变量命名

状态变量用于描述程序的状态。

一般的状态变量命名为flag,这是不提倡的,应该使用更加清晰的命名方式,例如使用常量和枚举。例如:

define('INPUT_READY',1);

。。。

if(INPUT_READY)

{

do sth.......

}


c)为临时变量命名

临时变量用于存储计算的中间结果,做为零时占位符。

不要把零时变量仅仅命名为temp,建议使用更明确的命名+temp做为结尾,例如:input_temp.


d)为布尔变量命名

<1>典型布尔变量名

done 表示某件事情已经完成。完成前设为false,完成后设置为true。

error 表示有错误发生。发生以前设置为false,发生以后设置为true。

found 用found表示某个值已经找到,找到以前为false,找到以后设置为true。

例如:在某个记录集中查找某一条记录。


<2>为布尔变量赋予隐含"真/假"含义的名字。


<3>使用确定的布尔变量名。

不要使用否认意义的名字例如:notFound,notdone,等等。


e)为常量命名

为具名常量(就是有名称的常量),应该是根据该常量所表示的含义,而不是该常量的数值来命名。例如:define("MAX_SIZE",1024);

5.命名规范

(鉴于php是弱类型语言,该处有待补充)

相关文章
相关标签/搜索