Cele mai bune practici PHP: Parametri de tip
Sunt practicile pe care le învățăm la școală, cele pe care le asumăm prin lene, cele pe care le adoptăm din obișnuință, fie că le vedem, fie prin copierea și lipirea sistematică. Cu timpul și experiența, este clar că căutăm metodologii și sintaxe din ce în ce mai clare. În ciuda tendințelor care se disting în jurul fiecărei limbi, deseori suntem capabili să stabilim, citind codul, care dintre echipa noastră are o astfel de sintaxă În C #, puriștii vor lua obiceiul de a-și începe toate interfețele cu un „I” De exemplu .
rezumat
PHP, o sintaxă liberă... prea liberă?
Eu însumi am mai multe obiceiuri care îmi permit să-mi construiesc codul într-un mod regulat. Asta pentru a-mi găsi cu ușurință drumul, pentru a lucra rapid, dar și pentru a facilita depanarea și citirea codului meu pentru colegii mei.
Introduceți parametrii săi, pentru ce? Și de ce este aceasta o practică bună?
În PHP, sintaxa este foarte liberă. Adică foarte liber prin faptul că limbajul nu este foarte pronunțat. Fără a fi un susținător al limbajelor precum Java, de exemplu, cred că tastarea parametrilor acestora nu poate decât să ne ajute în munca noastră.
De ce să pierdeți timpul scriind tipul de date?
Într-adevăr, dar să comparăm imediat argumentele pro și contra.
În contra, fără a fi vremuri rele, o să-mi fie greu să citez un alt argument decât cel pe care l-am scris mai sus.
La profesioniști, aș putea spune o mică listă:
- Mă ajută să-mi construiesc codul. În prototipul meu (declarația funcției mele), știu că un astfel de argument trebuie să fie un arade ou int.
- Acest lucru îmi permite să depanez mai repede. Dacă ai declarat că vrei un argument de tip Utilizator în metoda dvs., PHP se va aștepta la o instanță de utilizator. Sau încearcă să dai un arade sau orice alt tip decât cel stipulat, va face ca PHP să se oprească imediat. Desigur, eroarea riscă să fie destul de „grea”, dar restul dezvoltării tale nu este susceptibil să aibă un eșec.
- Colegilor mei le place să-mi citească codul ca pe o carte. Într-adevăr, când știm că metoda setItem(…) ia un argument de tip foo, ajută. Nu ?
12funcţie setItem($item);funcţie setItem(Foo $articol);
Desigur, această listă conține doar 3 puncte, dar munca noastră ne obligă să fim mereu pe picior de război și să explorăm mereu noi căi, vă sfătuiesc să încercați și să vedeți singuri.
O problemă suspendată cu tipul mixt
Într-adevăr, trebuie totuși să recunosc o slăbiciune, tipul mixt. Tip oribil și de interzis. Pentru cei care au codificat în C/C++, este ca și cum ați declara un pointer de instanță cu (void *).
Vă sfătuiesc pe cât posibil să nu folosiți acest tip și să limitați utilizarea lui. Un exemplu ?
Metoda setPoireau(mixed $poireau) ia ca parametri prazul, dar din moment ce nu este tastat, ii poti da si un pui de foca... Problematic.
Dacă ai vrut să forțezi să consumi praz, știi ce ai de făcut și să recunoaștem că ai mintea sucită și că ți-ar plăcea să poți da legume, te invit să folosești o interfață (sau un rezumat de clasă ) și definiți-vă metoda astfel.
|
|
Voi fi de acord că acest exemplu poate nu este cel mai bun, dar are meritul de a fi clar.
Concluzie
Tastarea nu este obligatorie, dar rămâne disponibilă oricui dorește să lucreze clar și curat. Vi-l recomand cu caldura.
Poate că vom avea dreptul, într-o zi, să introducem revenirea unei metode care să ne ajute în căutarea unei semantici din ce în ce mai bune.