PHP代码编写规范
发布:smiling 来源: PHP粉丝网 添加日期:2022-06-11 08:23:27 浏览: 评论:0
不添加不需要的上下文
如果你的类名或对象名称有具体的含义,请不要重复该变量的名称。
差:
- <?php class Car{
- public $carMake;
- public $carModel;
- public $carColor;
- //...
- }
好:
- <?php class Car{
- public $make;
- public $model;
- public $color;
- //...
- }
函数参数数量(理想情况是 2 个以下)
限制函数参数的数量是非常重要的,因为它让函数更容易测试,参数超过三个的话,你必须用每个单独的参数测试大量不同的情况。
无参数是理想的情况。一个或两个参数是可以的,但应该避免三个。通常,如果你有两个以上的参数,那么你的函数试图完成太多的功能,若不是,大多数时候,较高级的对象就足以作为参数(译者注:比如数组、对象)。
差:
- <?php function createMenu($title, $body, $buttonText, $cancellable) {
- // ...}
好:
- <?php class MenuConfig {
- public $title;
- public $body;
- public $buttonText;
- public $cancellable = false;}$config = new MenuConfig();$config->title = 'Foo';$config->body = 'Bar';$config->buttonText = 'Baz';$config->cancellable = true;function createMenu(MenuConfig $config) {
- // ...}
一个函数应该只完成一件事
这是软件工程中最重要的规则。当函数做的事多于一件事情时,他们更难编写和测试。 当你可以将函数隔离成一个动作时,可以轻松重构,代码也将更易读。
差:
- <?phpfunction emailClients($clients) {
- foreach ($clients as $client) {
- $clientRecord = $db->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();
Tags: PHP代码编写规范
- 上一篇:PHP百钱百鸡问题(三种解题思路及答案)
- 下一篇:最后一页
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)