ugrás a tartalomhoz

Archívum - Dec 21, 2016 - Fórum téma

Fejlődés?

Hidvégi Gábor · 2016. Dec. 21. (Sze), 12.01
Egy másik fórumszálon egy érdekes vita alakult ki a PHP type hinting-jával kapcsolatban, ahol némi utánaolvasással kiderült, hogy ennek a szerepe nem más, mint a hibakeresés támogatása (bár munkát nem spórol meg, hisz a szükséges konverziókat ugyanúgy el kell végeznünk), de például (elhanyagolható mértékben) lassítja a futást, a kódot pedig rugalmatlanabbá teszi, azaz elveszik a PHP egyik óriási előnye, a dinamikus típusosság.

Ez az egész rengeteg kérdést felvet, ahol tudok, megpróbálok én is valamit válaszolni, de az csak egy szempont a sok közül:

1, Hol érdemes ilyet használni? Saját kódban, vagy ott is, ahol harmadik féltől származó rutinok vannak? Mert ez utóbbi esetben nem tudjuk garantálni, hogy a típusok nem változnak.

Saját kódban miért használná bárki is? Kiszűri vele a hanyag kollegákat? Node miért vesz fel a cég ilyeneket?

2, Érdemes-e ilyet használni?

Production kódban egy Fatal error, amit ilyen hiba okoz, megengedhetetlen, és egyébként is, nem is feltétlenül szükséges. Ráadásul a kód 100%-át lefedő tesztek szükségesek az ilyenek kiszűréséhez, aminek a megvalósítása szinte lehetetlen.

3, Szükséges-e egy ilyen featúra ahhoz, hogy jó kódot írjunk?

Robert C. Martin szerint megfelelő teszteléssel a statikus típusosság értelmét veszti.

4, Ha egy featúra hasznossága kérdéses, miért teszik bele? Növeli a PHP kódbázisát, minden újabb sor potenciális hibaforrás, és azért kell is a PHP-t foltozgatni rendesen.

5, Mi alapján döntik el, hogy egy featúra mennyire hasznos? Divat vagy racionális döntés áll a hátterében? Utóbbi esetben hol vannak a számok, ami alapján fel lehet mérni a hasznosságát?