PHP
Webügynökség » Digitális hírek » PHP bevált gyakorlat: Paraméterek típusa

PHP bevált gyakorlat: Paraméterek típusa

Vannak gyakorlatok, amelyeket az iskolában tanulunk meg, amelyeket lustaságból, megszokásból veszünk magunkévá, akár úgy, hogy nem látjuk, akár szisztematikusan másoljuk és beillesztjük. Idővel és tapasztalattal világossá válik, hogy egyre világosabb módszertanokat és szintaxisokat keresünk. Az egyes nyelvek körül jellemző trendek ellenére gyakran kódolvasással meg tudjuk határozni, hogy csapatunk melyik szintaxissal rendelkezik C # nyelven a puristák megszokják, hogy minden interfészüket "I"-vel kezdjék. Például .

PHP, egy ingyenes szintaxis… túl szabad?

Jómagam is számos szokásom van, amelyek lehetővé teszik, hogy szabályos módon építsem fel a kódomat. Ez azért van így, hogy könnyen eligazodjak, gyorsan dolgozhassak, de megkönnyítsem a hibakeresést és a kódolvasást kollégáimnak.

Írja be a paramétereit, minek? És miért jó ez a gyakorlat?

A PHP-ben a szintaxis nagyon ingyenes. Nagyon szabadnak értem az alatt, hogy a nyelv nem túl bőbeszédű. Anélkül, hogy az olyan nyelvek támogatója lennék, mint például a Java, úgy gondolom, hogy a paramétereinek beírása csak segíthet a munkánkban.

Miért vesztegeti az időt az adattípus írására?
Valóban, de azonnal hasonlítsuk össze az előnyöket és a hátrányokat.

Hátrányaként, anélkül, hogy rossz idők lennének, nehezen fogok más érvet idézni, mint amit fentebb írtam.

A profiknál ​​egy kis listát tudnék mondani:

  1. Segít felépíteni a kódomat. A prototípusomban (a funkcióm deklarációjában) tudom, hogy egy ilyen és ilyen argumentumnak egy asugár ou int.
  2. Ez lehetővé teszi a gyorsabb hibakeresést. Ha kijelentette, hogy egy típusú argumentumot szeretne használó módszerében a PHP felhasználói példányt vár. Vagy próbáljon meg adni egy a-tsugár vagy bármely más, a kikötéstől eltérő típus, a PHP azonnali leállását okozza. El kell ismerni, hogy a hiba meglehetősen "nehéz" lesz, de nem valószínű, hogy a fejlesztés összes többi része meghibásodik.
  3. A kollégáim szívesen olvassák a kódomat, mint egy könyvet. Valóban, ha tudjuk, hogy a setItem(…) metódus egy típusú argumentumot vesz fel foo, segít. Nem ?
    1
    2
    funkció setItem($elem);
    funkció setItem(Foo $elem);

Igaz, ez a lista csak 3 pontot tartalmaz, de munkánk arra kötelez bennünket, hogy mindig hadipályán legyünk, és mindig új utakat fedezzünk fel, azt tanácsolom, próbálja ki és győződjön meg saját szemével.

Felfüggesztett probléma a típussal vegyes

Valóban, be kell ismernem egy gyengeséget, a típust vegyes. Szörnyű fickó és kitiltandó. Azok számára, akik C/C++-ban kódoltak, ez olyan, mintha egy példánymutatót egy (void *) jellel deklarálnának.

Azt tanácsolom, hogy lehetőleg ne használja ezt a típust, és korlátozza a használatát. Egy példa ?
A setPoireau(vegyes $poireau) metódus a póréhagymát veszi paraméterként, de mivel nincs begépelve, adhatunk neki babafókát is… Problémás.

Ha erőltetni akartad a póréhagymát, tudod, mit kell tenned, és valljuk be, hogy csavaros elméd van, és szeretnél zöldséget adni, akkor egy interfész (vagy egy osztálykivonat) használatára hívlak. ), és definiálja a módszert így.

1
funkció setLeek(én zöldség $ póréhagyma);

Egyetértek azzal, hogy ez a példa talán nem a legjobb, de megvan az az érdeme, hogy világos.

Következtetés

A gépelés nem kötelező, de bárki számára elérhető marad, aki tisztán és tisztán akar dolgozni. Bátran ajánlom neked.

Talán jogunk lesz egy napon beírni egy olyan módszer visszatérését, amely segít az egyre jobb szemantika keresésében.

★ ★ ★ ★ ★