[PYTHON] Einfach zu lesender Kontrollfluss

Einfach zu lesender Kontrollfluss

Ich habe den lesbaren Code gelesen Schreiben wir einen Weg, um den Kontrollfluss leichter lesbar zu machen

Liste der Argumente des bedingten Ausdrucks

if(length >= 10)
if(10 <= length)

Beide haben die gleiche Bedeutung, aber die erste ist leichter zu lesen

Werte, die sich auf der linken Seite ändern, Werte, die sich nicht auf der rechten Seite ändern

Im vorherigen Beispiel wird die Konstante 10 nach rechts verschoben. Wenn Sie eine Variable namens Länge auf die linke Seite bringen, wird das Lesen einfacher.

Sogar auf Japanisch "Wenn ich über 20 bin" "Wenn 20 unter meinem Alter ist" Ersteres ist leichter zu verstehen.

Mein Alter ändert sich, aber 20 ist eine Konstante. Indem Sie die Werte, die sich auf der linken Seite ändern, und die Werte, die sich nicht auf der rechten Seite ändern, in derselben Reihenfolge wie in der natürlichen Sprache platzieren. Es stellt sich heraus, dass es leicht zu verstehen ist.

Dreiecksoperator

Der ternäre Operator ist sehr praktisch. Sie können die unterstützende if-else-Anweisung wie folgt verkürzen

if(hour >= 12) {
  time_str += "pm";
} else {
  time_str += "am";
}

//Verwenden Sie den ternären Operator
time_str += (hour >= 12) ? "pm" : "am";

Wenn Sie es jedoch blind verwenden, ist es möglicherweise schwer zu verstehen.

return exponent >= 0 ? mantissa * (1<<exponent) : mantissa/(1<< -exponent);

Mach das Nest flach

Antworten Sie, wenn das Ergebnis des Benutzers erfolgreich ist und die Berechtigung eingeholt wurde. Wenn das Ergebnis des Benutzers erfolgreich ist und keine Berechtigung erteilt wurde, wird ein leerer Fehler zurückgegeben. Wenn das Ergebnis des Benutzers nicht erfolgreich ist, wird ein Fehler zurückgegeben. Wird bearbeitet.

Es wird etwas kompliziert.


if(user_result == SUCCESS) {
  if(permission_result != SUCCESS) {
    reply.WriteErrors("error reading permissions");
    reply.Done();
    return;
  }
  reply.WriteErrors("");
} else {
  reply.WriteErrors(user_result);
}
reply.Done();

Kehre früh zurück, um die Verschachtelung zu entfernen

//Benutzer zuerst_result !=Es gibt das Ergebnis von SUCCESS zurück.
if (user_result != SUCCESS) {
  reply.WriteErrors(user_result);
  reply.Done();
  return;
}

//Der Rest ist Benutzer_result ==Nur für den Erfolg
if(permission_result != SUCCESS) {
  reply.WriteErrors(permission_result);
  reply.Done();
  return;
}

reply.WriteErrors("");
reply.Done();


Dies machte das Nest flacher. Der Kontrollfluss könnte vereinfacht werden, indem frühzeitig mit der Rückkehr zurückgekehrt wird.

Recommended Posts

Einfach zu lesender Kontrollfluss
Wie man PyPI liest
Wie man JSON liest
Einfach zu bedienendes SQLite3
Machen Sie es mit der Syntax einfach
Tipps zum Codieren kurz und einfach in Python zu lesen
Einfache Möglichkeit, Dateien umzubenennen
Einfach zu bedienendes E-Cell 4 Intermediate
Einfach zu bedienende E-Cell 4 Beginner's Edition
Einfaches Kopieren in die Zwischenablage unter Linux
Einfache Möglichkeit, den Python-Import anzupassen
Lesen von e-Stat-Subregionsdaten
Django1.11.1 Bild-Uploader Leicht zu stolpernde Punkte
Lesen des SNLI-Datensatzes
Einfach pyspark mit conda installieren
Reibungsloser Fluss durch Optimierung der Signalsteuerung
Einfach zu bedienende E-Cell 4 Advanced Edition
Einfach zu bedienendes Jupyter-Notebook (Python3.5)
Zeigen Sie json-Unterschiede auf einfach zu lesende Weise an
Zeichnen Sie einfach Diagramme mit matplotlib
Einfaches Erlernen von Python beim Schreiben
Artikel nach Locust Einführungsartikel zu lesen
[Python Tutorial] Eine einfache Einführung in Python