- A hozzászóláshoz be kell jelentkezni
- 3242 megtekintés
Hozzászólások
Vajon mikor lesz divat unit tesztet írni legalább a kritikus kódrészekre...
- A hozzászóláshoz be kell jelentkezni
Unit teszttel a security problemak elhanyagolhato reszet tudod csak megfogni. Ha mar teszteles, a QuickCheck erre sokkal alkalmasabb, de onmagaban ez sem eleg.
- A hozzászóláshoz be kell jelentkezni
A goto failt pont megfogta volna egy unit teszt, mert nem crash jellegű (buffer overflow és társai), hanem logikai hiba volt (tök szabályos alap inputokra rossz eredményt adott vissza). Ezen felül van értelme az invalid inputokra történő nem definiált működést ellenőrizni. Vagy meg kell írni C#/Java-ban, ahol olyan kb. nincs :).
- A hozzászóláshoz be kell jelentkezni
hahh, a legtöbb code-styling érve: "avoid brackets to save vertical space"...
a 16:9 visszacsap: használj 9:16-ot :D (egy monitoron a 5:4 esetleg 4:3 az rendben, de komolyabb munkára a 16:10/FHD-t is érdemes forgatni... nincs 3/4k tapasztalat)
- A hozzászóláshoz be kell jelentkezni
Ez baromsag amugy. Nalam most egy 16:9-es kijelzo van, egyszerre 70 sor kodot latok. Ha egy kodblokk (metodus etc.) ennel hosszabb, ott mar eleve baj van es szet kell tordelni ep esszel felfoghato reszekre.
Ebben a 70 sorban amugy 4 metodus is van, kommentezve. Szoval nem a "wasting vertical space" a bad practice, hanem az, hogy kilometer hosszu kodblokkokat akarnak egyesek atlatni. Plusz van code folding, akinek az a problemaja, hogy nem latja a hivasok parameterezeset (a belso mukodest amugy sem szabadna latni, csak az allapotvaltozast. Az meg benne van a nevben vagy dokumentacioban).
- A hozzászóláshoz be kell jelentkezni
+1
Ha minden fejlesztő betartaná legalább ezt a szabályt, ritkán látnál 10-20 sornál hosszabb metódusokat. Persze ezt könnyebb egy oop nyelvben megvalósítani, mert a sok segédfüggvény (metódus) nem szennyezi a névteret, mivel mind privát lesz.
A másik dolog, hogy egy widescreen monitoron nem muszáj csak a kódot megjeleníteni, oldalt megjeleníthetsz más információkat (pl. a fájlban levő függvények listáját), ami inkább gyorsítja és kényelmesebbé teszi a kódolást, mint lassítja.
- A hozzászóláshoz be kell jelentkezni
Ezt a szabályt "composed method" néven ismerem.
- A hozzászóláshoz be kell jelentkezni
> Ez baromsag amugy.
Köszönöm, tiéd is.
> Ha egy kodblokk (metodus etc.) ennel hosszabb, ott mar eleve baj van es szet kell tordelni ep esszel felfoghato reszekre.
Attól függ miről van szó. Egy statikus nyelvnél, persze hogy jó a sok függvény + tudsz makrózni meg inline-olni, mert ezt tökéletesen megoldja az "-O2". Még talán az okosabb és jobban optimalizáltabb JIT-eknek se jelent "túl nagy" overhead-et. Ellen pl. PHP (és más hasonló dynamic/interpreted, ahol a linkek azok runtime-resolved-ek) esetében a függvényhívás általában eléggé költséges és emiatt kerülendő (pláne oop overriden/overloaded methods vagy többszörös nesting esetén).
> Plusz van code folding, akinek az a problemaja, hogy nem latja a hivasok parameterezeset [...]
Most az egyik projectem (raster->vector) esetén: már maga csak _egy_ if feltétel meg lehet 5-10 sor sok esetben, ha a kiértékelési sorrenddel is akarsz kicsit optimalizálni (PHP-nél gyakorlatilag muszáj, ha nem filmet akarsz nézni a test-run-ok közben): akkor ráadás 2-3 nesting (ami indent-elve ezerszer átláthatóbb). Ezt egy sorba is írhatod, csak akkor nem látod át. És ilyen feltételekből van legalább 5-8 még egy szimplább neighbourhood-analysis során is: 70 sor kevéske, és valszeg page-up/down kell (még foldingolva is), hogy egy teljest függvényt átláss (átlátogass), pláne ha nem a "szimplább" féle...
- A hozzászóláshoz be kell jelentkezni
"a függvényhívás általában eléggé költséges és emiatt kerülendő"
fusson -> legyen olvasható -> (mérés) -> legyen optimalizált
- A hozzászóláshoz be kell jelentkezni
+1
Illetve nekem az jött le a fentiből, hogy php-val kellene teljesítménykritikus feladatot megoldani, amire szerintem a php nem való (related).
- A hozzászóláshoz be kell jelentkezni
Valszeg nem a céges coding styleokra gondolsz :) - Eddig a legtöbb helyen ahol dolgoztam a coding style az volt, hogy még az egysoros blokkra is kötelező a { }. Igaz mondjuk, hogy ezek nem garázs cégek voltak :)
- A hozzászóláshoz be kell jelentkezni