suchen
  • Anmelden
  • Melden Sie sich an
Passwort-Reset erfolgreich

Verfolgen Sie die Projekte, die Sie interessieren, und erfahren Sie die neuesten Nachrichten über sie

PHP-Variablen

Sammlung 148
Lesen 30836
Updatezeit 2016-09-11

Variable

1. Verwenden Sie Variablennamen, die die Bedeutung des Wortes verstehen

2. Dieselbe Entität muss denselben Variablennamen verwenden

3. Verwenden Sie suchfreundliche Namen (Teil 1)

4. Verwenden Sie suchfreundliche Namen (Teil 2)

5. Verwenden Sie selbsterklärende Variablen

6. Vermeiden Sie tiefe Nester und kehren Sie so früh wie möglich zurück (Teil 1)

7. Vermeiden Sie tiefe Nester und kehren Sie so früh wie möglich zurück (Teil 2)

8. Verwenden Sie weniger bedeutungslose Variablennamen

9. Fügen Sie keinen unnötigen Kontext hinzu

10. Verwenden Sie die Standardwerte der Parameter sinnvoll, es ist nicht erforderlich, Standardwerte in Methoden zu erkennen

1. Verwenden Sie Variablennamen, die die Bedeutung des Wortes verstehen

Schlecht:

$ymdstr = $moment->format('y-m-d');

Gut:

$currentDate = $moment->format('y-m-d');

2. Dieselbe Entität muss denselben Variablennamen verwenden

Schlecht:

getUserInfo();
getUserData();
getUserRecord();
getUserProfile();

Gut:

getUser();

3. Verwenden Sie suchfreundliche Namen (Teil 1)

Code wird geschrieben, um gelesen zu werden. Daher ist es wichtig, Code zu schreiben, der gut lesbar und durchsuchbar ist. Wenn Sie Variablen benennen, die nicht aussagekräftig und leicht verständlich sind, erweisen Sie Ihren Lesern keinen Gefallen. Bitte machen Sie Ihren Code durchsuchbar.

Schlecht:

// 448 ™ 干啥的?
$result = $serializer->serialize($data, 448);

Gut:

$json = $serializer->serialize($data, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);

4. Verwenden Sie suchfreundliche Namen (Teil 2)

Schlecht:

class User
{
    // 7 ™ 干啥的?
    public $access = 7;
}
 
// 4 ™ 干啥的?
if ($user->access & 4) {
    // ...
}
 
// 这里会发生什么?
$user->access ^= 2;

Gut:

class User
{
    const ACCESS_READ = 1;
    const ACCESS_CREATE = 2;
    const ACCESS_UPDATE = 4;
    const ACCESS_DELETE = 8;
 
    // 默认情况下用户 具有读、写和更新权限
    public $access = self::ACCESS_READ | self::ACCESS_CREATE | self::ACCESS_UPDATE;
}
 
if ($user->access & User::ACCESS_UPDATE) {
    // do edit ...
}
 
// 禁用创建权限
$user->access ^= User::ACCESS_CREATE;

 

5. Verwenden Sie selbsterklärende Variablen

Schlecht:

$address = 'One Infinite Loop, Cupertino 95014';
$cityZipCodeRegex = '/^[^,]+,\s*(.+?)\s*(\d{5})$/';
preg_match($cityZipCodeRegex, $address, $matches);
 
saveCityZipCode($matches[1], $matches[2]);

Gut:

Besser, aber stark abhängig von der Vertrautheit mit regulären Ausdrücken

$address = 'One Infinite Loop, Cupertino 95014';
$cityZipCodeRegex = '/^[^,]+,\s*(.+?)\s*(\d{5})$/';
preg_match($cityZipCodeRegex, $address, $matches);
 
[, $city, $zipCode] = $matches;
saveCityZipCode($city, $zipCode);

Gut:

Verwenden Sie Unterregeln mit Namen. Sie müssen die regulären Regeln nicht verstehen, um sie zu verstehen

$address = 'One Infinite Loop, Cupertino 95014';
$cityZipCodeRegex = '/^[^,]+,\s*(?<city>.+?)\s*(?<zipCode>\d{5})$/';
preg_match($cityZipCodeRegex, $address, $matches);
 
saveCityZipCode($matches['city'], $matches['zipCode']);

6. Vermeiden Sie tiefe Nester und kehren Sie so früh wie möglich zurück (Teil 1)

Zu viele if else-Anweisungen erschweren normalerweise die Lesbarkeit Ihres Codes. Es ist besser, explizit als vage zu sein.

Ups:

    if (empty($day)) {
        return false;
    }
 
    $openingDays = [
        'friday', 'saturday', 'sunday'
    ];
 
    return in_array(strtolower($day), $openingDays, true);
}

7. Vermeiden Sie tiefe Nester und kehren Sie frühzeitig zurück (Teil 2)
Ups:

function fibonacci(int $n)
{
    if ($n < 50) {
        if ($n !== 0) {
            if ($n !== 1) {
                return fibonacci($n - 1) + fibonacci($n - 2);
            } else {
                return 1;
            }
        } else {
            return 0;
        }
    } else {
        return 'Not supported';
    }
}

Gut:

function fibonacci(int $n): int
{
    if ($n === 0 || $n === 1) {
        return $n;
    }
 
    if ($n >= 50) {
        throw new \Exception('Not supported');
    }
 
    return fibonacci($n - 1) + fibonacci($n - 2);
}

8. Verwenden Sie weniger bedeutungslose Variablennamen

Lassen Sie die Leute, die Ihren Code lesen, nicht erraten, was die von Ihnen geschriebenen Variablen bedeuten. Es ist besser, klar als vage zu schreiben.

Schlecht:

$l = ['Austin', 'New York', 'San Francisco'];
 
for ($i = 0; $i < count($l); $i++) {
    $li = $l[$i];
    doStuff();
    doSomeOtherStuff();
    // ...
    // ...
    // ...
  // 等等, `$li` 又代表什么?
    dispatch($li);
}

Gut:

$locations = ['Austin', 'New York', 'San Francisco'];
 
foreach ($locations as $location) {
    doStuff();
    doSomeOtherStuff();
    // ...
    // ...
    // ...
    dispatch($location);
}

9. Fügen Sie keinen unnötigen Kontext hinzu

Wenn einige Informationen bereits aus Ihrem Klassennamen oder Objektnamen gelernt werden können, wiederholen Sie diese nicht im Variablennamen.

Schlecht:

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

Gut:

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

10. Verwenden Sie Parameter-Standardwerte sinnvoll, es ist keine Standardwerterkennung in der Methode erforderlich

Nicht gut:

Nein, $breweryName könnte NULL. sein

 function createMicrobrewery($breweryName = 'Hipster Brew Co.'): void
{
    // ...
}

Okay:

Es ist leichter zu verstehen als das vorherige, aber es ist besser, den Wert der Variablen steuern zu können.

 function createMicrobrewery($name = null): void
{
    $breweryName = $name ?: 'Hipster Brew Co.';
    // ...
}

Gut:

Wenn Ihr Programm nur PHP 7 unterstützt, können Sie mithilfe von Typhinweisen sicherstellen, dass die Variable $breweryName nicht NULL. ist

 function createMicrobrewery(string $breweryName = 'Hipster Brew Co.'): void
{
    // ...
}
Heiße KI -Werkzeuge
Undress AI Tool
Undress AI Tool

Ausziehbilder kostenlos

AI Clothes Remover
AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undresser.AI Undress
Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

Stock Market GPT
Stock Market GPT

KI-gestützte Anlageforschung für intelligentere Entscheidungen

Beliebtes Werkzeug
Notepad++7.3.1
Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version
SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)