Maison > développement back-end > tutoriel php > Spécifications d'écriture de code PHP

Spécifications d'écriture de code PHP

Guanhui
Libérer: 2023-04-08 15:36:01
avant
2526 Les gens l'ont consulté

N'ajoutez pas de contexte inutile

Si le nom de votre classe ou de votre objet a une signification spécifique, ne répétez pas le nom de la variable.

Mauvais :

<?php class Car{
    public $carMake;
    public $carModel;
    public $carColor;
    //...
    }
Copier après la connexion

Bon :

<?php class Car{
    public $make;
    public $model;
    public $color;
    //...
    }
Copier après la connexion

Nombre de paramètres de fonction (idéalement inférieur à 2)

Paramètres de fonction limite Le Le nombre de paramètres est très important car il rend la fonction plus facile à tester. Avec plus de trois paramètres, vous devez tester de nombreuses situations différentes avec chaque paramètre individuel.

Aucun paramètre n’est la situation idéale. Un ou deux paramètres sont acceptables, mais trois doivent être évités. Habituellement, si vous avez plus de deux paramètres, alors votre fonction essaie d'en faire trop. Sinon, la plupart du temps, un objet de niveau supérieur suffira comme paramètre (Note du traducteur : comme un tableau, un objet).

Mauvais :

<?php function createMenu($title, $body, $buttonText, $cancellable) {
    // ...}
Copier après la connexion

Bon :

<?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) {
    // ...}
Copier après la connexion

Une fonction ne doit faire qu'une seule chose

C'est la règle la plus importante en génie logiciel. Lorsque les fonctions font plus d’une chose, elles sont plus difficiles à écrire et à tester. Lorsque vous pouvez isoler une fonction dans une action, elle peut être facilement refactorisée et le code sera plus lisible.

Mauvais :

<?phpfunction emailClients($clients) {
    foreach ($clients as $client) {
        $clientRecord = $db->find($client);
        if ($clientRecord->isActive()) {
            email($client);
        }
    }}
Copier après la connexion

Bon :

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();
}
Copier après la connexion

Utiliser les méthodes get et set

En PHP, vous pouvez définir les mots-clés publics, protégés et privés pour les méthodes , vous pouvez contrôler la visibilité des propriétés d'un objet. Cela fait partie du principe ouvert/fermé de la conception orientée objet.

Mauvais :

class BankAccount
{
    public $balance = 1000;
}
$bankAccount = new BankAccount();
// Buy shoes...
$bankAccount->balance -= 100;
Copier après la connexion

Bon :

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();
Copier après la connexion

Tutoriel recommandé : "Tutoriel PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:zhihu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal