摘要:簡評,是基于羅伯特馬丁的經典編程書籍代碼整潔之道的適用版本,并不是一個風格指南,而是在中編寫可讀可重用和可重構的軟件的指南。當函數做的事多于一件事情時,他們更難編寫和測試。這是面向對象的設計原則中的開放封閉原則的一部分。
簡評: Clean Code PHP,是基于羅伯特·馬丁的經典編程書籍 ——「代碼整潔之道」的 PHP 適用版本,并不是一個風格指南,而是在
PHP 中編寫可讀、可重用和可重構的軟件的指南。當然切忌機械地遵循這里的原則。
不添加不需要的上下文
如果你的類名或對象名稱有具體的含義,請不要重復該變量的名稱。
差:
好:
函數參數數量(理想情況是 2 個以下)
限制函數參數的數量是非常重要的,因為它讓函數更容易測試,參數超過三個的話,你必須用每個多帶帶的參數測試大量不同的情況。
無參數是理想的情況。一個或兩個參數是可以的,但應該避免三個。通常,如果你有兩個以上的參數,那么你的函數試圖完成太多的功能,若不是,大多數時候,較高級的對象就足以作為參數(譯者注:比如數組、對象)。
差:
好:
title = "Foo"; $config->body = "Bar"; $config->buttonText = "Baz"; $config->cancellable = true; function createMenu(MenuConfig $config) { // ... }一個函數應該只完成一件事
這是軟件工程中最重要的規則。當函數做的事多于一件事情時,他們更難編寫和測試。 當你可以將函數隔離成一個動作時,可以輕松重構,代碼也將更易讀。
差:
find($client); if ($clientRecord->isActive()) { email($client); } } }好:
function emailClients($clients) { $activeClients = activeClients($clients); array_walk($activeClients, "email"); } function activeClients($clients) { return array_filter($clients, "isClientActive"); } function isClientActive($client) { $clientRecord = $db->find($client); return $clientRecord->isActive(); }使用 get 和 set 方法
在 PHP 中,可以為方法設置 public、protected 和 private 關鍵字,可以控制對象上的屬性可見性。這是面向對象的設計原則中的開放/封閉原則的一部分。
差:
class BankAccount { public $balance = 1000; } $bankAccount = new BankAccount(); // Buy shoes... $bankAccount->balance -= 100;好:
class BankAccount { private $balance; public function __construct($balance = 1000) { $this->balance = $balance; } public function withdrawBalance($amount) { if ($amount > $this->balance) { throw new Exception("Amount greater than available balance."); } $this->balance -= $amount; } public function depositBalance($amount) { $this->balance += $amount; } public function getBalance() { return $this->balance; } } $bankAccount = new BankAccount(); // Buy shoes... $bankAccount->withdrawBalance($shoesPrice); // Get balance $balance = $bankAccount->getBalance();原文:Clean Code Concepts Adapted for PHP
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/30611.html
摘要:續前文后端好書閱讀與推薦,幾十天過去了,又看了兩本好書還有以前看過的書,這里依然把它們總結歸納一下,加入一些自己的看法有用的鏈接和可能的延伸閱讀,并推薦給需要的同學。 續前文 后端好書閱讀與推薦 - Mageek`s Wonderland ,幾十天過去了,又看了兩本好書(還有以前看過的書),這里依然把它們總結歸納一下,加入一些自己的看法、有用的鏈接和可能的延伸閱讀,并推薦給需要的同學。...
摘要:續前文后端好書閱讀與推薦,幾十天過去了,又看了兩本好書還有以前看過的書,這里依然把它們總結歸納一下,加入一些自己的看法有用的鏈接和可能的延伸閱讀,并推薦給需要的同學。 續前文 后端好書閱讀與推薦 - Mageek`s Wonderland ,幾十天過去了,又看了兩本好書(還有以前看過的書),這里依然把它們總結歸納一下,加入一些自己的看法、有用的鏈接和可能的延伸閱讀,并推薦給需要的同學。...
閱讀 3086·2023-04-26 00:53
閱讀 3536·2021-11-19 09:58
閱讀 1700·2021-09-29 09:35
閱讀 3290·2021-09-28 09:46
閱讀 3869·2021-09-22 15:38
閱讀 2698·2019-08-30 15:55
閱讀 3016·2019-08-23 14:10
閱讀 3831·2019-08-22 18:17