首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

養成這 5 個 PHP 編程好習慣,寫出更易維護的代碼 (一)

     編輯:PHP 相關知識

良好習慣的價值

優秀開發者效率高出 10%-20%,源於經驗與習慣。代碼維護佔應用生命週期最大成本,模組化、可讀性強的代碼能大幅降低維護成本,避免修改引入新缺陷。

五大核心習慣

  1. 使用良好的命名
  2. 分成更小的部分
  3. 為代碼添加註釋
  4. 處理錯誤條件
  5. 切忌使用複製貼上

習慣一:良好的命名 —— 代碼如書般易讀

反面教材:含糊縮寫與誤導性名稱

<?php
function getNBDay($d) {
    switch($d) { case 5: case 6: case 7: return 1; default: return ($d + 1); }
}
$day = 5;
$nextDay = getNBDay($day);
echo "Next day is: $nextDay\n";
?>

問題:getNBDay、$d、$nextDay 全無語意,5/6/7 魔術數字,回傳值含義不明。

正面範例:自文檔化代碼

<?php
define('MONDAY', 1); define('TUESDAY', 2); define('WEDNESDAY', 3);
define('THURSDAY', 4); define('FRIDAY', 5); define('SATURDAY', 6); define('SUNDAY', 7);

/**
 * 取得下一個工作日
 * @param int $dayOfWeek 1=週一 ... 7=週日
 * @return int 下一工作日代碼
 */
function findNextBusinessDay($dayOfWeek) {
    $nextBusinessDay = $dayOfWeek;
    switch($dayOfWeek) {
        case FRIDAY: case SATURDAY: case SUNDAY:
            $nextBusinessDay = MONDAY; break;
        default: $nextBusinessDay += 1; break;
    }
    return $nextBusinessDay;
}

$day = FRIDAY;
$nextBusDay = findNextBusinessDay($day);
echo "Next business day is: $nextBusDay\n";
?>

優勢:常數替代魔術數字、函數名描述意圖、參數/回傳值有註釋、迴圈變數 $i 等極少數情況可用短名。

進階技巧:將複雜條件封裝為具名方法

將 if ($user->age > 18 && $user->active && !$user->banned) 重構為 if ($user->isEligible()),條件變更時只需改一處,呼叫端零修改,可讀性大增。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved