摘要:简评,是基于罗伯特马丁的经典编程书籍代码整洁之道的适用版本,并不是一个风格指南,而是在中编写可读可重用和可重构的软件的指南。当函数做的事多于一件事情时,他们更难编写和测试。这是面向对象的设计原则中的开放封闭原则的一部分。
简评: 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
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/30611.html
摘要:续前文后端好书阅读与推荐,几十天过去了,又看了两本好书还有以前看过的书,这里依然把它们总结归纳一下,加入一些自己的看法有用的链接和可能的延伸阅读,并推荐给需要的同学。 续前文 后端好书阅读与推荐 - Mageek`s Wonderland ,几十天过去了,又看了两本好书(还有以前看过的书),这里依然把它们总结归纳一下,加入一些自己的看法、有用的链接和可能的延伸阅读,并推荐给需要的同学。...
摘要:续前文后端好书阅读与推荐,几十天过去了,又看了两本好书还有以前看过的书,这里依然把它们总结归纳一下,加入一些自己的看法有用的链接和可能的延伸阅读,并推荐给需要的同学。 续前文 后端好书阅读与推荐 - Mageek`s Wonderland ,几十天过去了,又看了两本好书(还有以前看过的书),这里依然把它们总结归纳一下,加入一些自己的看法、有用的链接和可能的延伸阅读,并推荐给需要的同学。...
阅读 3065·2023-04-26 00:53
阅读 3493·2021-11-19 09:58
阅读 1675·2021-09-29 09:35
阅读 3260·2021-09-28 09:46
阅读 3754·2021-09-22 15:38
阅读 2679·2019-08-30 15:55
阅读 2991·2019-08-23 14:10
阅读 3760·2019-08-22 18:17