Startseite > Refactoring > Refactoring PHP - Lez. 3: Methoden einer Klasse

PHP Refactoring - Lez. 3: Methoden einer Klasse

In Bezug auf die Methoden einer Klasse, gilt auch in diesem Fall die Namenskonvention vorher ausgesetzt , um die Eigenschaften der Klasse selbst. Wir wiederholen sie aus praktischen Gründen:

  • Wenn besteht aus einem einzigen Wort, alles klein geschrieben, zum Beispiel Währung ();
  • Wenn der vielen Worte der erste Buchstabe eines jeden, ab der zweiten, in Großbuchstaben, Kleinbuchstaben alle anderen, zum Beispiel, addElement ();
  • Der Name der Methode sollte selbsterklärend sein.

Zusätzlich zu diesen Regeln, die wir auch folgendes bedenken:

  • Wenn der Name der Methode von mehreren Aktionen besteht spaltete es in vielerlei Hinsicht, da es Aktionen sind;
  • Die Länge der Körper der Methode sollte nicht länger als 40 Zeilen;
  • Die Anzahl der Parameter darf nicht mehr als maximal 4;

Method Name besteht aus mehreren Aktionen

Gesetzt den Fall, die in dem Schreiben des Codes einer Klasse über eine Methode mit folgender Signatur:

public function controllaImmagazzina ($ product)

Der Code der Methode ist wie folgt:

Klasse Warehouse {

public function controllaImmagazzina ($ product) {

if ($ Produkt == null) {

return "Produkt-Set";

} Else if (substr ($ product-> getCodice (), 0, 3) == "CAT") {

return "mit alten Katalog gemacht";

} Else if ($ product-> getIngombro ()> 10) {

return "Produkt zu umständlich";

}

$ Db = new DB ("MySQL");

$ Db-> update ($ product);

}

.............................................

}

Wie Sie sehen können, haben wir eine einzige Methode, die nützliche Aktionen zurückkehren könnten einzeln eingeführt wurde, ist, weshalb wir jede Aktie zu einer neuen Methode aufgeteilt, und wenn wir wirklich brauchen, um sie zusammen verwenden wir eine zusätzliche Methode, die in Folge ruft zu haben.

Nach den Richtungen nur gegeben, sollte die obigen Code wie folgt aussehen:

Klasse Warehouse {

................................................

public function check ($ product) {

if ($ Produkt == null) {

return "Produkt-Set";

} Else if (substr ($ product-> getCodice (), 0, 3) == "CAT") {

return "mit alten Katalog gemacht";

} Else if ($ product-> getIngombro ()> 10) {

return "Produkt zu umständlich";

}

return "";

}

public function möglich ($ product) {

$ Db = new DB ("MySQL");

$ Db-> update ($ product);

}

öffentlichen prendeInCarico ($ product) {

$ Msg = $ this-> check ($ product);

if ($ msg! == "") {

echo $ msg;

Else {}

$ This-> store ($ product);

echo "Taking Charge erfolgreich";

}

}

}


$ ObjProdotto = new Produkt ();

$ Obj = new Warehouse Warehouse ();

$ Msg = $ obj Warehouse -> prendeInCarico ($ objProdotto)

echo $ msg;

Umschreiben des Codes haben wir es besser lesbar und wiederverwendbar, in dem Fall wollen wir ein Produkt nur in einem anderen Verfahren zu kontrollieren, oder speichern nur ein Produkt, das keine Kontrolle.

Wir analysieren nun die übrigen Voraussetzungen.

  1. 17. Dezember 2008 um 17:34 | # 1

    Действительно классная темка.

  2. Nicola
    18. Dezember 2008 um 17:59 Uhr | # 2

    спасибо Вам за комментарий

    Nicola

  1. Bisher keine Trackbacks ...
Immagine CAPTCHA
Audio-CAPTCHA
Bild ändern
*