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

PHP 程式碼規範指南:命名慣例、重構原則、簡化技巧與查找表模式

     編輯:PHP 相關知識

命名規範

類型風格範例
類別檔案PascalCase + .class.phpPay.class.php
類別名PascalCase,目錄對應Zend_Autoloader → Zend/Autoloader.class.php
函式snake_caseget_client_ip()
方法camelCase,私有 _ 開頭listComment(), _getResource()
屬性camelCase,私有 _ 開頭$userName, $_instance
常數UPPER_SNAKE_CASEHOME_URL

語義化動詞建議

  • list + 單數名詞:listApple()(列表)
  • get + 單數名詞:getApple()(單筆)
  • Total 後綴:expenseTotal(總計)
  • found:布林旗標(是否找到)
  • success/ok:操作成功
  • done:流程完成
  • error:錯誤資訊
  • result:回傳資料

重構原則

  1. 函式/方法控制在單一螢幕高度(約 50 行)。
  2. 刪除未使用代碼(版控可追溯,勿註解保留)。
  3. 修改他人代碼需簽名(註解標註作者、日期、原因)。
  4. 複雜模組附 README.md 說明業務邏輯。
  5. 單一職責:一個類做一件事,一個函式做一件事。

代碼簡化技巧

短路運算子替代 if

// 原版
$a = 1; $b = 0;
if (isset($a)) { $b = 1; print $b; }
if ($b != 0) print $b;

// 簡化
isset($a) && ($b = 1) && print $b;
$b == 0 || print $b;

常量前置防誤賦值

// 易寫成 = 的 bug
if ($a = 1) { ... }  // 永真,且修改 $a

// 常量前置,編譯器直接報錯
if (1 = $a) { ... }  // Parse error

// 正確寫法
if (1 == $a) { ... }

查找表模式替代多重 if/else

// 原版:錯誤碼映射狀態
if ($err==4||$err==5||$err==7||$err==8) $state=1;
elseif ($err==1||$err==3||$err==6) $state=2;

// 查找表:O(1) 查找,易維護
$map = [4=>1, 5=>1, 7=>1, 8=>1, 1=>2, 3=>2, 6=>2];
isset($map[$err]) && $state = $map[$err];

工具落地建議

  • 採用 PHP_CodeSniffer + PSR-12 標準自動檢查。
  • CI 流程整合 phpcs、phpstan(靜態分析)、phpunit。
  • 統一編輯器 .editorconfig(縮排、換行、編碼)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved