Najbolji primjeri PHP-a: parametri tipa
Postoje prakse koje učimo u školi, one koje preuzimamo iz lijenosti, one koje usvajamo iz navike, bilo gledanjem ili sustavnim kopiranjem i lijepljenjem. S vremenom i iskustvom, jasno je da tražimo sve jasnije metodologije i sintakse. Unatoč trendovima koji se razlikuju oko svakog jezika, često smo u mogućnosti odrediti čitanjem koda tko od našeg tima ima takvu sintaksu. U C #, čistunci će steći naviku da sva svoja sučelja započinju sa "I" Na primjer .
Sommaire
PHP, besplatna sintaksa... previše slobodna?
I sam imam nekoliko navika koje mi omogućuju da svoj kod izgradim na uobičajen način. Ovo kako bih se lakše snalazio, radio brzo, ali i kako bih kolegama olakšao otklanjanje pogrešaka i čitanje mog koda.
Upišite njegove parametre, za što? I zašto je to dobra praksa?
U PHP-u je sintaksa vrlo besplatna. Mislim vrlo besplatno činjenicom da jezik nije pretjerano opširan. Bez obzira što sam pobornik jezika poput Jave na primjer, mislim da nam upisivanje njenih parametara može samo pomoći u radu.
Zašto gubiti vrijeme na pisanje tipa podataka?
Doista, ali odmah usporedimo prednosti i nedostatke.
U nedostatku, bez loših vremena, teško ću navesti neki drugi argument osim onog koji sam gore napisao.
Među profesionalcima bih mogao navesti mali popis:
- Pomaže mi u izradi koda. U mom prototipu (deklaraciji moje funkcije), znam da takav i takav argument mora biti araj ou int.
- To mi omogućuje brže otklanjanje pogrešaka. Ako ste izjavili da želite argument tipa korisnik u vašoj metodi PHP će očekivati korisničku instancu. Ili pokušaj dati araj ili bilo koje druge vrste osim one navedene, uzrokovat će trenutno zaustavljanje PHP-a. Doduše, postoji opasnost da pogreška bude prilično "teška", ali sav ostatak vašeg razvoja vjerojatno neće imati neuspjeh.
- Moji kolege rado čitaju moj kod kao knjigu. Doista, kada znamo da metoda setItem(…) uzima argument tipa foo, pomaže. Ne?
12funkcija setItem($stavka);funkcija setItem(Foo $stavka);
Doduše, ova lista sadrži samo 3 točke, ali naš posao nas obvezuje da uvijek budemo na ratnoj stazi i da uvijek istražujemo nove puteve, savjetujem vam da pokušate i uvjerite se sami.
Obustavljen problem s vrstom mješovit
Doista, svejedno moram priznati slabost, tip mješovit. Užasan tip i za banovanje. Za one koji su kodirali u C/C++, to je kao da deklarirate pokazivač instance s (void *).
Savjetujem vam da koliko god je to moguće ne koristite ovu vrstu i da ograničite njezinu upotrebu. Primjer ?
Metoda setPoireau(mixed $poireau) uzima poriluk kao parametre, ali budući da nije tipizirana, možete joj dati i baby seal... Problematično.
Ako ste htjeli forsirati poriluk, znate što morate učiniti, i priznajmo da ste pokvarenog uma, i da biste htjeli moći davati povrće, pozivam vas da koristite sučelje (ili sažetak klase ) i definirajte svoju metodu ovako.
|
|
Složit ću se da ovaj primjer možda nije najbolji koji postoji, ali ima zaslugu da bude jasan.
Zaključak
Tipkanje nije obavezno, ali ostaje dostupno svima koji žele raditi pregledno i čisto. Toplo vam ga preporučujem.
Možda ćemo imati pravo, jednog dana, upisati povratak metode koja će nam pomoći u našoj potrazi za sve boljom semantikom.