Heim  >  Artikel  >  Backend-Entwicklung  >  Wie schreibe ich eine Funktion?

Wie schreibe ich eine Funktion?

伊谢尔伦
伊谢尔伦Original
2016-12-03 09:40:283148Durchsuche

Programme enthielten einst Unterprogramme und Funktionen (vielleicht habe ich diese Ära nicht erlebt). Heute sind in Programmen nur noch Funktionen vorhanden.

Funktionen in Programmiersprachen werden in integrierte Funktionen und benutzerdefinierte Funktionen oder Klassenmethoden unterteilt. Integrierte Funktionen können direkt aufgerufen werden, während benutzerdefinierte Funktionen von Programmierern geschrieben werden.

Funktion ist ein äußerst wichtiger Teil des Programms. Um es gut zu schreiben, müssen Sie einige Prinzipien befolgen.

Funktionen sollten kurz sein. Verschachtelte Strukturen wie if...else usw. sollten in Funktionen nicht erlaubt sein. In verschachtelten Strukturen wie if..else, while, for oder foreach sollte der Code eine Zeile nicht überschreiten. Diese einzige Codezeile ist ein Aufruf der Funktion. Bitte beachten Sie Code A.

function test($bool){
         $age = 0;
         if($bool){
               $age = 5;
          }else{
                $age = 0;
          }
          return  $age;
}
$bool = true;
echo test($bool);

Der obige Code enthält if...else und verschachtelte Strukturen im Funktionskörper. Gemäß dem Prinzip „Funktionen sollten kurz sein“ sollte der obige Code als Code B umgeschrieben werden:

function testTrue(){
        $age = 5;
         return $age;
}
function testFalse(){
        $age = 0;
        return $age;
}
$bool = true;
if($bool){
      echo testTrue();
}else{
        echo testFalse();
}

Ich verwende gerne Code im Code-B-Stil. Es kann den Backbone-Code (Code mit einem hohen Abstraktionsgrad) vereinfachen. Bei der eigentlichen Programmierung habe ich Code A und Code B kombiniert, weil ich einen Funktionstest basierend auf Code B hinzugefügt habe. Bitte beachten Sie Code C.

function testTrue(){
       $age = 5;
       return $age;
}
function testFalse(){
        $age = 0;
        return $age;
}
function test($bool){
        $age = 0;
        if($bool){
             $age  =  testTrue();
         }else{
              $age  =  testFalse();
   }
$bool = true;
echo test($bool);

Drei Codestile, welcher ist besser? Ich kann es nicht sagen. In der Programmierpraxis wähle ich Code im C-Stil. Der Grund für das Schreiben kurzer Funktionen besteht darin, dass kurze Funktionen leicht zu lesen sind und das Debuggen erleichtern. Natürlich unterliegt es auch den Programmierprinzipien, die viele Programmierer in ihrer Programmierpraxis zusammenfassen: Eine Funktion macht nur eine Sache.

„Code Cleanliness“ unterstreicht dieses Programmierprinzip mit folgenden Worten: Seit mehr als dreißig Jahren haben unzählige Menschen in unzähligen verschiedenen Ausdrücken die Ansicht vertreten, dass eine Funktion nur eines tun sollte; Funktion sollte dies tun.

Um dieses Prinzip zu beherrschen, müssen Sie verstehen: Wie nennt man eine Sache? Eines bedeutet, dass sich diese Dinge auf derselben abstrakten Ebene befinden. Funktion A speichert beispielsweise Bestelldaten in der Datenbank, erstellt dabei Couponnummern und versendet Textnachrichten. Oberflächlich betrachtet gibt es drei Dinge, aber da sie sich alle auf derselben Abstraktionsebene befinden, gibt es eigentlich nur eines. Wenn der Code beim Erstellen einer Couponnummer verwendet wird, um die Funktion zum Erstellen einer Couponnummer zu ersetzen, führt Funktion A zwei Dinge aus.

Darüber hinaus ist das Lesen von Funktionen (to...do) „von oben nach unten“ auch eine gute Möglichkeit, zu unterscheiden, ob eine Funktion eine Sache tut. Für junge Programmierer ist es nicht einfach, diese Fähigkeit zu erlernen.

Sehen Sie sich die Abschnitte der Funktion an, das heißt, ob eine Funktion in andere Funktionen aufgeteilt werden kann. Dies ist auch eine Möglichkeit, festzustellen, ob eine Funktion nur eine Aufgabe erfüllt.

Ich denke, dass man anhand der „Abstraktionsebene“ beurteilen kann, ob eine Funktion nur eine Sache tut.


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:12 erweiterte Git-BefehleNächster Artikel:12 erweiterte Git-Befehle