十大開發原則
- 關閉 register_globals:從學習設定環境起就設為
OFF。
- 善用 error_reporting:開發前了解錯誤報告等級。
- 先查手冊再提問:養成查閱官方文件習慣。
- 會用搜尋引擎:手冊找不到答案時善用網路資源。
- 切勿好高騖遠:剛學會語法不代表能寫大型系統(如論壇)。
- 認識 HTML:Web 開發基礎是 HTML。
- 樂於助人:有能力後解答新手問題,勿嘲諷「這很基本」。
- 多思考、多動手:空想不如實作。
- 定期重構:寫完一段程式,一週後回頭檢視優化。
- 閱讀他人代碼:吸收優點、避開缺點。
程式碼優化實戰技巧
1. 善用參考傳址(&)提升效能
2. 三元運算子簡化邏輯
// 原寫法
if ($data[$i]['nickname']) $nickname = $data[$i]['nickname'];
else $nickname = $data[$i]['ip'];
// 優化
$nickname = $data[$i]['nickname'] ? $data[$i]['nickname'] : $data[$i]['ip'];
3. 簡化 if-else 巢狀結構
// 原寫法
if (!empty($type)) {
if (!strpos($type, $ext_name)) { exit; }
}
// 優化
if ($type !== '' && strpos($type, $ext_name) === false) { exit; }
4. 程式碼排版對齊,提升可讀性
// 混亂
$foo=$_post["foo"]; $username=$_post["user"]; $group=$_POST["group"];
// 對齊
$foo = $_POST['foo'];
$username = $_POST['username'];
$group = $_POST['group'];
// 進階:善用參考與三元
$foo = &$_POST['foo'];
$username = $_POST['group'] != 'wheel' ? $_POST['username'] : $_POST['username'] . 'wheel';
5. 規範撰寫 SQL 查詢
- 欄位名、表名以反引號
` 包裹,避免保留字衝突
- 複雜查詢換行縮排,明確 JOIN 條件與 WHERE 子句
// 難讀
$query="select `flash_comment`.`content` ... from `flash_comment` left join ...";
// 易讀
$query = "SELECT `flash_comment`.`content`, `flash_comment`.`nickname` ...
FROM `flash_comment`
LEFT JOIN `product` ON (`flash_comment`.`p_no` = `product`.`p_no`)
LEFT JOIN `sgflash` ON (`product`.`p_name` = `sgflash`.`f_name`)
WHERE `flash_comment`.`p_no` != ''
ORDER BY `flash_comment`.`date`";