Heim  >  Artikel  >  Backend-Entwicklung  >  Spezifikationen für das Schreiben von PHP-Code

Spezifikationen für das Schreiben von PHP-Code

Guanhui
Guanhuinach vorne
2020-05-02 09:51:352425Durchsuche

Fügen Sie keinen unnötigen Kontext hinzu

Wenn Ihr Klassen- oder Objektname eine bestimmte Bedeutung hat, wiederholen Sie den Namen der Variablen nicht.

Schlecht:

<?php class Car{
    public $carMake;
    public $carModel;
    public $carColor;
    //...
    }

Gut:

<?php class Car{
    public $make;
    public $model;
    public $color;
    //...
    }

Anzahl der Funktionsparameter (idealerweise weniger als 2)

Grenzfunktionsparameter Die Die Anzahl der Parameter ist sehr wichtig, da sie das Testen der Funktion erleichtert. Bei mehr als drei Parametern müssen Sie mit jedem einzelnen Parameter viele verschiedene Situationen testen.

Keine Parameter sind die ideale Situation. Ein oder zwei Parameter sind in Ordnung, drei sollten jedoch vermieden werden. Wenn Sie mehr als zwei Parameter haben, versucht Ihre Funktion normalerweise zu viel. Wenn nicht, reicht in den meisten Fällen ein Objekt einer höheren Ebene als Parameter aus (Anmerkung des Übersetzers: z. B. ein Array oder ein Objekt).

Schlecht:

<?php function createMenu($title, $body, $buttonText, $cancellable) {
    // ...}

Gut:

<?php class MenuConfig {
    public $title;
    public $body;
    public $buttonText;
    public $cancellable = false;}$config = new MenuConfig();$config->title = &#39;Foo&#39;;$config->body = &#39;Bar&#39;;$config->buttonText = &#39;Baz&#39;;$config->cancellable = true;function createMenu(MenuConfig $config) {
    // ...}

Eine Funktion sollte nur eine Sache tun

Dies ist die wichtigste Regel in der Softwareentwicklung. Wenn Funktionen mehr als eine Aufgabe erfüllen, ist es schwieriger, sie zu schreiben und zu testen. Wenn Sie eine Funktion in eine Aktion isolieren können, kann sie einfacher umgestaltet werden und der Code wird besser lesbar.

Schlecht:

<?phpfunction emailClients($clients) {
    foreach ($clients as $client) {
        $clientRecord = $db->find($client);
        if ($clientRecord->isActive()) {
            email($client);
        }
    }}

Gut:

function emailClients($clients) {
    $activeClients = activeClients($clients);
    array_walk($activeClients, &#39;email&#39;);
}
function activeClients($clients) {
    return array_filter($clients, &#39;isClientActive&#39;);
}
function isClientActive($client) {
    $clientRecord = $db->find($client);
    return $clientRecord->isActive();
}

Get- und Set-Methoden verwenden

In PHP können Sie die öffentlichen, geschützten und privaten Schlüsselwörter für Methoden festlegen können Sie die Sichtbarkeit von Eigenschaften eines Objekts steuern. Dies ist Teil des Offen/Geschlossen-Prinzips des objektorientierten Designs.

Schlecht:

class BankAccount
{
    public $balance = 1000;
}
$bankAccount = new BankAccount();
// Buy shoes...
$bankAccount->balance -= 100;

Gut:

class BankAccount
{
    private $balance;
    public function __construct($balance = 1000)
    {
      $this->balance = $balance;
    }
    public function withdrawBalance($amount)
    {
        if ($amount > $this->balance) {
            throw new \Exception(&#39;Amount greater than available balance.&#39;);
        }
        $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();

Empfohlenes Tutorial: „PHP-Tutorial

Das obige ist der detaillierte Inhalt vonSpezifikationen für das Schreiben von PHP-Code. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:zhihu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen