Geriausia PHP praktika: tipo parametrai
Yra praktikos, kurių mokomės mokykloje, tų, kurių imamės per tinginystę, tų, kurias priimame iš įpročio, matydami, ar sistemingai kopijuodami ir įklijuodami. Turint laiko ir patirties, aišku, kad ieškome vis aiškesnių metodikų ir sintaksių. Nepaisant tendencijų, kurios būdingos kiekvienai kalbai, dažnai skaitydami kodą galime nustatyti, kuris iš mūsų komandos turi tokią sintaksę C # kalboje puristai įpras visas savo sąsajas pradėti nuo „aš“. Pavyzdžiui. .
santrauka
PHP, nemokama sintaksė... per nemokama?
Aš pats turiu keletą įpročių, kurie leidžia man reguliariai kurti savo kodą. Tai leidžia lengvai orientuotis, greitai dirbti, bet taip pat palengvinti derinimą ir kodo skaitymą kolegoms.
Įveskite jo parametrus, kam? Ir kodėl tai yra gera praktika?
PHP sintaksė yra labai nemokama. Turiu galvoje labai laisvą tai, kad kalba nėra labai žodinė. Nebūdamas tokių kalbų kaip, pavyzdžiui, Java, šalininkas, manau, kad jos parametrų įvedimas gali mums tik padėti mūsų darbe.
Kam gaišti laiką rašant duomenų tipą?
Tikrai, bet iš karto palyginkime privalumus ir trūkumus.
Kalbant apie minusus, be blogų laikų, man bus sunku pateikti kitą argumentą nei tas, kurį rašiau aukščiau.
Kalbant apie privalumus, galėčiau pateikti nedidelį sąrašą:
- Tai padeda man sukurti savo kodą. Savo prototipe (mano funkcijos deklaracijoje) žinau, kad toks ir toks argumentas turi būti aspindulys ou int.
- Tai leidžia greičiau derinti. Jei pareiškėte, kad norite tokio tipo argumento vartotojas jūsų metodu PHP tikisi vartotojo egzemplioriaus. Arba pabandykite duoti aspindulys arba bet kokio kito tipo, nei nurodyta, PHP nedelsiant sustos. Reikia pripažinti, kad klaida gali būti gana „sunki“, tačiau greičiausiai visa kita jūsų plėtra nebus nesėkminga.
- Mano kolegos mėgsta skaityti mano kodą kaip knygą. Iš tiesų, kai žinome, kad setItem(…) metodas paima tipo argumentą foo, tai padeda. Ne ?
12funkcija setItem($ prekė);funkcija setItem(Foo $prekė);
Tiesa, šiame sąraše yra tik 3 punktai, bet mūsų darbas įpareigoja visada eiti karo kelyje ir ieškoti vis naujų kelių, patariu pabandyti ir įsitikinti patiems.
Pristabdyta tipo problema mišrus
Iš tiesų, turiu pripažinti silpnybę, tipą mišrus. Siaubingas vaikinas ir turi būti uždraustas. Tiems, kurie kodavo C/C++, tai panašu į egzemplioriaus žymeklio deklaravimą su (tuščia *).
Patariu kiek įmanoma nenaudoti šio tipo ir apriboti jo naudojimą. Pavyzdys ?
Metodas setPoireau (mišrus $poireau) naudoja poras kaip parametrus, bet kadangi jis nėra įvestas, taip pat galite suteikti jam ruonių jauniklį… Problemiška.
Jei norėjote priversti valgyti porus, žinote, ką turite daryti, ir pripažinkime, kad turite iškreiptą protą ir kad norėtumėte turėti galimybę duoti daržovių, kviečiu naudotis sąsaja (arba klasės santrauka ) ir apibrėžkite savo metodą taip.
|
|
Sutinku, kad šis pavyzdys gali būti ne pats geriausias, bet jis turi būti aiškus.
išvada
Rašymas nėra privalomas, bet yra prieinamas visiems, kurie nori dirbti aiškiai ir švariai. Labai rekomenduoju jums.
Galbūt vieną dieną turėsime teisę įvesti metodą, kuris padėtų mums ieškant vis geresnės semantikos.