php代码常见的变量缩写,PHP代码简洁之道——变量部分
將代碼寫的簡潔并且易讀易懂是每一位優(yōu)秀的coder所應(yīng)該具備的基本功。
前幾天在github上看到clean-code-php這個項(xiàng)目,感覺很有收獲,于是在這里記錄一下。
使用有意義并且可讀的變量名稱
Bad:
$ymdstr = $moment->format("y-m-d");
Good:
$currentDate = $moment->format("y-m-d");
對同一只類型的變量使用同樣的詞匯
Bad:
getUserInfo();
getUserData();
getUserRecord();
getUserProfile();
Good:
getUser();
使用易于查找的命名
Bad:
// 這里的4是什么鬼??
if ($user->access & 4) {
// ...
}
Good:
class User
{
const ACCESS_READ = 1;
const ACCESS_CREATE = 2;
const ACCESS_UPDATE = 4;
const ACCESS_DELETE = 8;
}
if ($user->access & User::ACCESS_UPDATE) {
// do edit ...
}
不要讓讀者猜
Bad:
$l = ["Austin", "New York", "San Francisco"];
for ($i = 0; $i < count($l); $i++) {
$li = $l[$i];
doStuff();
doSomeOtherStuff();
// ...
// ...
// ...
// $li 變量代表什么???
dispatch($li);
}
Good:
$locations = ["Austin", "New York", "San Francisco"];
foreach ($locations as $location) {
doStuff();
doSomeOtherStuff();
// ...
// ...
// ...
dispatch($location);
}
避免過深的嵌套
Bad:
function isShopOpen($day)
{
if ($day) {
if (is_string($day)) {
$day = strtolower($day);
if ($day === "friday") {
return true;
} elseif ($day === "saturday") {
return true;
} elseif ($day === "sunday") {
return true;
} else {
return false;
}
} else {
return false;
}
} else {
return false;
}
}
Good:
function isShopOpen($day)
{
if (empty($day) && ! is_string($day)) {
return false;
}
$openingDays = [
"friday", "saturday", "sunday"
];
return in_array(strtolower($day), $openingDays);
}
Bad:
function fibonacci($n)
{
if ($n < 50) {
if ($n !== 0) {
if ($n !== 1) {
return fibonacci($n - 1) + fibonacci($n - 2);
} else {
return 1;
}
} else {
return 0;
}
} else {
return "Not supported";
}
}
Good:
function fibonacci($n)
{
if ($n === 0) {
return 0;
}
if ($n === 1) {
return 1;
}
if ($n > 50) {
return "Not supported";
}
return fibonacci($n - 1) + fibonacci($n - 2);
}
不要添加不必要的上下文
如果你的類/對象已經(jīng)說明了一些信息,不要在你的變量名和屬性里重復(fù)
Bad:
class Car
{
public $carMake;
public $carModel;
public $carColor;
//...
}
Good:
class Car
{
public $make;
public $model;
public $color;
//...
}
參數(shù)初始化時設(shè)置默認(rèn)值
function create($name = null)
{
$newName = $name ?: "ABC";
// ...
}
設(shè)置默認(rèn)值一個比較明顯的好處是,當(dāng)對一個較早之前已經(jīng)定義好的函數(shù)添加參數(shù)時,將新增的參數(shù)設(shè)置默認(rèn)值可以省得去修改以前使用該函數(shù)的地方。
總結(jié)
以上是生活随笔為你收集整理的php代码常见的变量缩写,PHP代码简洁之道——变量部分的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国有全资是什么意思
- 下一篇: oracle中noguarantee,关