Kezdőoldal » Számítástechnika » Programozás » Van egy PHP feladat, amelyet...

Mezler2 kérdése:

Van egy PHP feladat, amelyet egy cégtől kaptam, és hát, pofára estem. Mi lehetett a probléma?

Figyelt kérdés

A feladat lényege, hogy meglévő PHP kódot (CLI) kellett refaktorálni, bizonyos szabályokkal. A refaktorálást megcsináltam, repetitív kódot traitbe tettem (külön namspace-be), logikusan elkülönülő, osztályban lévő kódot külön osztályba raktam stb. A cég közölte, hogy a megoldásom nem jó, mert "nincsenek meg a minimum elvárt minták, technikák". Mik PHP-ben a

"minimum elvárt technikák" pl.? A kód egy PHP osztályt tartalmaz, több metódussal és jó pár try-catch blokkal. Minden elméletileg felmerülő módon átalakítottam, egyszerűsítettem, és a kód rövidebb, szervezettebb lett. A feladatkiírásban említették, hogy a script által kiírt üzenetek átalakíthatók, rövidíthetők. Ezekhez lényegében nem nyúltam, mert az üzenetek értelmesek voltak, semmi értelme nem lett volna kicserélni őket egy másik megfogalmazásra. A kódom helyesen lefutott a refaktorálás után, és egyszerűen nem értem mi a fenére gondolhattak. A probléma abban is áll, programozói ízlés és bevett személyes gyakorlat szerint elkülönülően, számos jó megoldás is lehetséges volt szerintem. Tehát a feladat nem volt teljesen egyértelmű és egzakt. Persze, ezt csak én gondolom, lehet, hogy ők teljesen másképp gondolják, de nagyon zavar ez az egész, és baromi jó volna tudni mi a fenét várhattak el. Véleményem szerint lényegi hibát nem vétettem (nem is nagyon lehetett egyébként, ha valaki alapszinten PHP-ben programoz) de magyarázatot a fenti, általános megfogalmazáson kívül az elutasításra nem kaptam. Valaki esteleg tudna nekem egy pár gondolattal segíteni, hogy ő általában milyen refaktorálási, kódszervezési elveket használ hasonló esetben?



jan. 16. 14:21
1 2
 1/17 anonim ***** válasza:
100%

Patternek alatt pl. factory-t, consumert, stb értik gondolom, kód nélkül max tippelni lehet, hogy kellett volna

Stringeket csak visszaadja a fv ott helyben? Ha igen, akkor itt lehetett volna kiszervezni, hogy más nyelvre is lehessen később fordítani az üzeneteket

Try-catch hibakezelésnél lekezeltél minden hibát? Lehet nem szeretik a try-catchet, és azt kellett volna átalakítani (de akkor erről szólni kellett volna előre)


Konkrétumok nélkül csak találgatni lehet. De általában a cégeknek szoktak lenni irányelveik, amikhez igazodni kell kódiráskor, amiben pl. leírják, hogy a tab az 2 vagy 4 space legyen, gondolom ilyet nem kaptál

jan. 16. 14:42
Hasznos számodra ez a válasz?
 2/17 A kérdező kommentje:
#1: Köszönöm a választ. Valóban nem kaptam semmilyen tab-ra vagy hasonló, a kód tagolására vonatkozó elvárást. Konkrét irányelvet sem adtak, ami aggályos, mert ha vannak nekik, én honnan tudhattam volna. Csak azt kérték, hogy refaktoráljam a kódot. Igen, igazad van, kód hiányában nehéz segítened. A kód megvan egyébként, csak félek 3. személynek kiadni, így viszont lehet, hogy soha az életben meg nem tudom mit vétettem, és ez nagyon zavar.
jan. 16. 14:49
 3/17 A kérdező kommentje:
#1: A feladatkiírásban van egy ilyen kitétel: "Inline comments are not necessary." Na, én nem írtam semmilyen kommentet, sem inline sem a függvények fölötti sem, mert ezt úgy értelmeztem, hogy nem kérnek kommenteket egyáltalán. Lehet, hogy ez volt a probléma?
jan. 16. 14:54
 4/17 anonim ***** válasza:
42%

"Lehet, hogy ez volt a probléma?"


Mit nem fogsz fel azon, hogy a kódod nélkül tippelni is felesleges?

jan. 16. 15:28
Hasznos számodra ez a válasz?
 5/17 A kérdező kommentje:
#4: OK, értem, persze, de miért kell ennyire gorombának lenni? Egyrészt nincs is igazad, mert ezer dolgot el lehet mondani általánosságban, ami segítséget jelenthet.
jan. 16. 16:25
 6/17 anonim ***** válasza:
70%

jaja, értem hogy ezer dolgot el lehet mondani általánosságban, de jobb lenne, ha specifikusan a te problémáidat oldhatnánk meg. Azt gondolná az ember, hogy neked is ez lenne a fontosabb.

Adsz kódot vagy nem?

Jó lenne egy refactor előtti és egy refactor utáni állapot. Mondjuk egy git repó, vagy valami.

jan. 16. 16:51
Hasznos számodra ez a válasz?
 7/17 A kérdező kommentje:
#6> Adok kódot, de meg kell, hogy bízzak benned. Nem szabad tovább adni a kódot, mert egy nagy cégről van szó, és ha kiderül be is perelhetnek akár. HA azt mondod nem adod tovább, akkor odaadom.
jan. 16. 18:33
 8/17 anonim ***** válasza:
25%
Ingyen dolgoztattak, nem akarnak kifizetni. De a megoldásodat azért lenyúlták.
jan. 16. 18:34
Hasznos számodra ez a válasz?
 9/17 anonim ***** válasza:
28%

"Konkrét irányelvet sem adtak, ami aggályos, mert ha vannak nekik, én honnan tudhattam volna."


Mielőtt nekiállunk ész nélkül refaktorálni azért érdemes tisztázni az elvárásokat és az irányelveket. Most megkaptad a kódot hogy refaktoráld te meg annyit sem kérdeztél meg, hogy mégis mi alapján / mi célból stb...? Nekiestél refaktorálni a saját elképzelésed alapján? Hát nem csodálom, hogy nem tetszett a megoldásod... Ilyenkor először a tervezés fázis kezdődik meg, majd a konkrét tervet megmutatod, hogy nekik tetszik-e vagy valamit másképp gondoltak. Amikor rábólintanak, hogy Ok akkor kezded a munkát és közben dokumentálod magadnak, hogy mi hogyan valósult meg az eredeti tervből...


"Adok kódot, de meg kell, hogy bízzak benned. Nem szabad tovább adni a kódot, mert egy nagy cégről van szó, és ha kiderül be is perelhetnek akár. HA azt mondod nem adod tovább, akkor odaadom"


Egyébiránt anoním fórumon csak úgy bizalmi alapon kiadni a kódokat anoním embereknek szintén nem túl szerencsés dolog, amiből meg is ütheted a bokádat.


Mindenesetre a megnyilvánulásaid alapján nem vagy a legélesebb kés a fiókban fiam.

jan. 16. 18:49
Hasznos számodra ez a válasz?
 10/17 anonim ***** válasza:
"Inline comments are not necessary." -> Ha elég "tiszta" a kód, és a nevek amiket használsz és comment nélkül is érthető akkor hajrá. De sok esetben olyanok a nevek és olyan kusza a kód, hogy nem derül ki belőle, hogy "mire gondolt a költő" olyankor kellenek a commentek (de jobb a tiszta kód, ha olvasható).
jan. 16. 19:10
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!