5.2 初始化
盡量在聲明局部變量的同時初始化。唯一不這麼做的理由是變量的初始值依賴於某些先前發生的計算。
5.3 布局
只在代碼塊的開始處聲明變量。(一個塊是指任何被包含在大括號"{"和"}"中間的代碼。)不要在首次用到該變量時才聲明之。這會把注意力不集中的程序員搞糊塗,同時會妨礙代碼在該作用域內的可移植性。
function myMethod() {
int $int1 = 0; // 方法塊的開始
if ($condition) {
int $int2 = 0; // "if"塊的開始
...
}
}
該規則的一個例外是for循環的索引變量
for (int $i = 0; i < $maxLoops; $i++) { ... }
避免聲明的局部變量覆蓋上一級聲明的變量。例如,不要在內部代碼塊中聲明相同的變量名:
int $count;
...
function myMethod() {
if ($condition) {
int $count = 0; // 避免這種聲明
...
}
...
}