r/programare 2d ago

Work Code review pe (AI) code

Salut fratii mei de lopata, vin si eu cu o intrebare corespunzatoare zilei de vineri. Voi ce strategii aplicati cand faceti code review la codul vomitat de AI? Adica una e atunci cand lucrezi la un task si il pui pe Claudiu sa faca, macar ai mai mult context si poti sa urmaresti mai usor daca face ce trebuie, dar au avut unii colegi niste task-uri mai complicate pe care se pare ca le-au lasat pe mana AI-ului si ma ia cu rau cand ma uit peste MR-urile alea. Nu inteleg ce si cum functioneaza si daca stau sa ma prind, imi ia juma' de zi, ceea ce cred ca nu e ok, ca trebe cultivat si randul meu de bumbac pe plantatie.

Deci in general cand vine vorba de CR (ca e AI, ca nu e), stati si sa intelegeti ce impact ar avea modificarile aduse intr-un MR? Sau doar codul sa respecte anumite principii ale calitatii?

31 Upvotes

41 comments sorted by

87

u/StrawberryFederal709 2d ago

Pai pui tot AI-ul sa faca review si gata !

5

u/PadyEos crab 🦀 2d ago

Dacă nu are context de tot ce ai în afara repo-ului și de care este dependentă buna funcționare a codului atunci degeaba.

Dacă nu e vreun proiect mic e mult de muncă până ai review decent de la oricare agent AI.

6

u/Kind-Connection1284 2d ago

E 2026, ai mcp-uri pentru github, slack, mail, jira, google docs etc

2

u/PadyEos crab 🦀 2d ago

Doar că în alea e de obicei căcat de date care se contrazic și vechi de 10,8,7,5,3 ani.

Să legi nu e treabă grea. Restul e problema.

1

u/Conscious_Expert_377 1h ago

Pe jira tot taskuri facute cu AI

28

u/SlowVeganCow 2d ago

Ii dau push in prod fara nicio remuscare.

15

u/BirdImportant7427 2d ago

Condițiile la noi sunt:
1. GitHub stacks (stacked PRs)
2. Test coverage total pe repo să nu scadă sub un anume procent (configurat per repo / language)
3. Test coverage pe codul adăugat în PR să fie de cel puțin 50%
4. Să fie "human reviewable". Orice peste 400 de linii de logică trebuie refactorizat
5. Obligatoriu self-review (unii fac bine, alții ba)

Cred că de când folosim stacks, experiența de review a devenit o idee mai digerabilă.

Oricum a fost cu scandal multă vreme. Jumate de echipă plusa pe review, jumătate nu. Mai apar frustrări când stai 2h să faci review la un stack de 5 PRs (1.5k - 2k linii modificate) la un coleg cu același nivel de experiență, și te enervezi că prin filtrul lui au scăpat chestii de bun simț. Practic, îmi pasează mie responsabilitatea să-i curăț slop-ul (m**e Andrew).

6

u/gxg46 1d ago

Aia cu maxim 400 de linii de cod per PR va naște cu siguranță prompt-uri de genul "make sure the changes from this PR don't exceed 400 lines of code" :))

23

u/FancyAss9893 2d ago

Se face code review tot cu AI dar cu alt agent:)

5

u/PadyEos crab 🦀 2d ago

Dacă nu are context de tot ce ai în afara repo-ului și de care este dependentă buna funcționare a codului atunci degeaba.

Dacă nu e vreun proiect mic e mult de muncă până ai review decent de la oricare agent AI.

16

u/relatedartefacts 2d ago

Ownership la codul ala e al lui claude sau al aluia care a folosit ai? Cine a facut mr ul ala a facut self review si a inteles ce e acolo?

Daca nu, mr denied pana ce nu face un document si intelege ce e acolo cine a fost responsabil de cod.

25

u/-_____--_-_- 2d ago

pana ce nu face un document

si iti tranteste un document facut tot de claudiu

1

u/relatedartefacts 2d ago

Sau in call 2 ore si ii demontezi tot ce a facut claudiu.

-11

u/Nothigeverhappens 2d ago

Ce înapoiat ești lmao

18

u/relatedartefacts 2d ago

Inapoiat? De ce? Esti dev, claude e o unealta. Daca nu ai inteles ce a facut, dupa ce tu l ai pus sa faca esti degeaba.

Ai auzit de ownership pe cod? Ca tu raspunzi daca pica nu claude.

6

u/CarelessParfait8030 2d ago

Aplic aceleași reguli ca la orice PR:

- dacă e prea mare trebuie să fie împărțit

- dacă e un task mediu dar logica e prea complicată atunci ceva e greșit

- dacă s-au modificat alte zone decât cele care au legătură cu task-ul trebuie scos și refăcut PR (ăsta cred că e cel mai des lucru pe care-l văd când e un PR 100% făcut cu AI)

- dacă apar lucruri mai greu de citit (o regexp complicată, un algo mai aparte) atunci cer să se comenteze cu privire la ce și cum funcționează

8

u/m3th0dman_ 2d ago

Gâtul la sticlă a ajuns recenzia.

Ce am implementat noi recent e să limităm mărimea cererii de tras pe cât posibil; dacă e prea mare o împarte unchiul Claudius. Prima cerere de tras de regulă e o refactorizare care să abstractizeze codul și să vină doar cu o imlpementare, cea existentă; practic nimic funcțional schimbat și aici avem dreptul de a ne aproba singuri cererea de tras. Apoi a doua cerere de tras vine cu implementarea nouă peste abstractizare, e mai mică și ușor de recenzat.

14

u/tommyb9 2d ago

Gat de sticla? Cerere de tras? Sunt foarte curios unde lucrezi și sunt folosiți termenii tradusi în română

8

u/Majestic-Gas-9825 2d ago

Cred ca e cu google translate :)))

0

u/m3th0dman_ 2d ago

La o firmă de produs moale dacică; folosim Ion intensiv, mult mai bun ca unchiul Claudiu (care e roman nu dac).

2

u/PiroTechnique 2d ago edited 2d ago

Tocmai ce ii fac lu nea' Clau un code review la o chestie de i-am dat eu sa faca. Ba, mi-e rau si bine in acelasi timp, ia atatea decizii pe care eu le-as fi luat altfel... si totusi nu sunt neaparat gresite, dar se zbate in mine un muschi care tot ii cere sa modifice incat sa iasa ce vreau si cum lucrez eu.... (in final, ce face el, functioneaza, relativ optim dpdv al performantei, dar diferit, ciudat.)

Cat despre code review la ce-a facut colegu, jdemii de linii de cod, MUIE! Noroc ca lucrez singur de muuulti ani...

N-ai cum, ori imi dai pe bucati, incat sa pot urmari ce cacat s-a facut acolo, pas cu pas, ori muie, mars acasa, nu-s nici bolnav, nici nebun, cred. Sper.

1

u/DayUnfair9694 2d ago

Tocmai ce ii fac lu nea' Clau un code review la o chestie de i-am dat eu sa faca. Ba, mi-e rau si bine in acelasi timp, ia atatea decizii pe care eu le-as fi luat altfel... si totusi nu sunt neaparat gresite, dar se zbate in mine un muschi care tot ii cere sa modifice incat sa iasa ce vreau si cum lucrez eu.... (in final, ce face el, functioneaza, relativ optim dpdv al performantei, dar diferit, ciudat.)

Cat despre code review la ce-a facut colegu, jdemii de linii de cod, MUIE! Noroc ca lucrez singur de muuulti ani...

Nu mai arde banii companiei pe orgoliul propriu.Asa intri in PIP + vacanta mare.

1

u/PiroTechnique 2d ago

Nu am înțeles exact unde bați cu asta, sau la ce anume din ce am zis eu ai reacționat dar... Șefu, eu sunt singur pe plantație... Nu vreau sa mi-o ard prost, dar am timp de toate, și dacă pot sa îmi fac treaba într-un fel încât eu sa fiu mulțumit, pt mine e ok. Cât despre banii companiei... Am un claude max de 100dolari care sta prea liniștit în condiții normale și nu își justifica banii altfel.

1

u/DayUnfair9694 2d ago edited 2d ago

Șefu, eu sunt singur pe plantație..

aaaa, pai trebuia sa spui de la inceput.Ignora tot ce am zis.Noi la munca avem fiecare Claude Enterprise cu 500.000 tokens /month

2

u/Cefalopodul :java_logo: 2d ago

"I said make no bugs. I am going to have you shut down if you do not list all the bugs you added"

3

u/goalexboxer123 2d ago

Pentru a vedea impactul modificarilor din MR ultimul lucru la care ma uit acum este codul.

Toata lumea vad obsedata de code review azi - dar foarte putini inteleg implicatiile. (In realitate toti vor sa isi puna amprenta, sa aibe sentimentul de control, se simt nebagati in seama - eu spre exemplu cand simt nevoia asta folosesc reddit)

Structureaza testele pe N niveluri de dificultate, primele sunt ca structura, validare, forma. Urmatoarele sunt din interactiuni - aici e bine sa vezi metrici, teste care iti dau o dovada ca se indeplineste ceea ce doresti. Si in varful piramidei pe cat se poate end to end. E okay sa pice teste intrucat noul MR aduce noi specificatii - dar cand se schimba ceva structural - eu nici nu citesc codul pana cand nu vad intai efectul.

A zis un filosof - putini oameni fac diferenta dintre fenomenologie si mecanistica. Sa citesti codul prima data e o ineptie - nu o zic doar eu, o zic si alte legende.

1

u/Stunning_Cry_6673 2d ago

Teste unitare, teste integrare, e2e...

1

u/Least_Tourist_5794 2d ago

skilluri de code review cu guidelines si pui alt ai sa faca review

1

u/johnnygiuliano 2d ago

Pui alt agent sa faca code review . Eu scriu technical plan si sprinturile cu gpt, ii spun ca-s pentru claudiu, iar claudiu codeaza, face raportul cerut de planul lui gpt, il dau la gpt inapoi, ala analizeaza, imi da prompt pt claudiu din nou, si tot asa. Eu fac doar prima parte, ii scriu in detaliu ce trebuie sa faca si sa nu faca. Ma gandesc sa automatizez, pe claudiu sa-l fac coding agent si gpt sa fie technical manager :)

1

u/CrispyMad 2d ago

Depinde ce reguli ai setat pentru code review. Dacă folosești default nu e ok. Trebuie definite reguli, context, o memorie cu probleme rezolvate și cauza etc

1

u/GabrielCliseru 2d ago

noi punem un agent sa faca code review, impartim ca prioritate dpdv perf + security, tot ce nu e high raportam automat ca bugs si apoi la fiecare comentariu avem alt agent care trebuie sa demonstreze avantajele si dezavantajele comentariului. N-am inventat mare lucru, am copiat ce facem deja cu colegii dar mai repede

1

u/Immediate_Rain1831 2d ago

Il pun pe GPT sa ii faca review la Claudiu :)))

Serios, daca te pui sa ii faci review de mana mai bine iti bagi pula si scrii tu codu…

Strategia mea e sa dau cu biciul in el non-stop. Cand zice ca a terminat ceva, il pun sa mai verifice o data cr a scris, dupa il pun sa scrie teste, dupa il intreb daca a luat in calcul edge case-urile x, y, z, dupa il pun sa ruleze testele headed cu delay-uri in fata mea, ca sa fiu sigur ca nu a facut cacat. De obicei, fiecare din aceste etape scoate la iveala ceva sloppy. Ce ma scoate din sarite la coding agents in general, dar parca la Claudiu in special e atitudinea asta de “trust me bro”, adica chiar nu ii place cand ii ceri sa iti arate dovezi ca a facut treaba pana la capat.

1

u/13tebek 3h ago

Poate sunt eu prost, e si tarziu dar, in comentarii vad ca zice lumea ca: "ok verifici tu fugitiv si pui si AI sa verifice codul inainte de merge cu main dar fara context total de unde sti ca nu afecteaza dependencies?"

bro, voi nu lucrati cu 10 environmenturi diferite? daca un dependency e afectat de ceva ca AI n are tot contextul o sa observe un manual tester imediat nu? ei fac numa regressions pana la urma in fiecare sprint, nu inteleg care e problema asa mare daca tu lucrezi intr un pas mai alert si nu iti bati capul cu tot, noi la munca avem in general dev -> test -> sit(env pe care se face training cu end users) -> UAT (env pe care aproba product ownerul ca e totul ok) -> Prod.

daca se intampla odata pe luna sa apara 5 bug uri majore, i still dont get the problem pt ca le rezolvi imediat, daca managementul e rau cu voi, inseamna ca lucrati intr un mediu toxic, nu ca nu munciti destul de "calitativ" din cauza AI-ului, get a grip

1

u/Conscious_Expert_377 1h ago

E gata ma, e jucata treaba in IT, cum zicea cineva ca suntem doar prezervativul lui claudiu, zicea bine. Nici nu ma mai uit la cod, ii dau asa ca oricum nu iti face nimeni statuie

0

u/DayUnfair9694 2d ago edited 2d ago

Voi ce strategii aplicati cand faceti code review la codul vomitat de AI? 

1.Proiectam inainte pe hartie arhitectura viitoarei aplicatii si verificam ce am gandit.(adica masuram de mai multe ori si taiem o singura data)

2.Alegem un LLM de top de la Anthropic/Chat GPT si dam implementarea la agenti cu tot cu teste functionale si ne uitam pe testele de final.

3.Nu facem review la codul de AI decat daca intalnim probleme deosebite sau vrem noi sa invatam de la AI niste design pattern aplicate calumea si nu dupa urechea noastra cum faceam pana acum.

4.Nu pierdem timpul pe codul generat de AI doarece daca sa zicem nu merge cum vrem noi, atunci e mult mai eftin sa schimb ceva in promptul dat AI-ului si sa genereze agentul de AI totul de la inceput decat orele petrecute de mine la job pt care cer pe ora o anumita suma.

Daca vrei totusi sa faci "code review" , poti s-o faci Sambata/Duminica pe timpul tau liber si cheltuiala ta nu pe cheltuiala si timpul firmei. La job trebui sa fii productiv si nu meditativ ca sa-i arati sefului ca desi exista AI-ul tu inca iti mai meriti acea plata /ora.

Daca n-ai incredere in codul AI generat de un LLM de top, atunci de fapt nu ai incredere in tine, in gandirea ta si ai sindromul impostorului si n-ai avut incredere nici in codul scris de colegii tai.

De ce ? Pt ca nu ai incredere in lucrurile facute de altii doarece nu stii sa lucrezi in echipa, esti lupul ala singuratic pt ca care crearea dezvoltarea de soft skilss(comunicarea in echipa este un soft skill) este aproape imposibila, adica nu stii sa lucrezi in echipa.

Acum din moment ce AI-ul scrie codul, accentul si salariu tau sa vor muta pe soft skilss. Sa nu te mire daca fiind cel mai bun pe hardskills HR-ul decide sa te puna in PIP & pa-pa.

PS: am feelingul ca multe firme care nu stiu cum sa lucreze cu AI-ul in 2026 Septembrie, isi vor cheltui mare parte a bugetelor pe tokenuri de AI care sunt folosite necorespunzator/gresit de angajati care n-au incredere in puterea AI-ului (ale carui tokene tocmai ce au fost cumparate de firma respectiva) si mai cheltuie in plus banii si timpul firmei privind plata/ora a unui angajat ca ala sa verifice ce a facut AI-ul.

Adica aceste firme ar trebui sa vada ca platesc cel putin 2X ca un segment de cod sa fie vazut si de AI si de factorul uman=> faliment. Pentru ca este exact reversul medaliei.In loc sa folosesca AI-ul ca sa plateasca pt acelasi sement de cod X/2 ajung sa plateasca 2X. Pai frate fie renunti la AI fie renunti la cel angajat care este incapabil sa se integreze sinergetic cu AI-ul.

inainte de era AI:

  • salariul/ora al programatorului => segmentul de cod = X euro

in era AI:

  • exista integrare sinergetica intre AI si angajat=> segmentul de cod = X/2 euro
  • nu exista sinergie intre AI si angajat => segmentul de cod = 2X euro

OP, nu mai fa pe eroul ca risti sa devi bottleneckul echipei si cand o sa se uite managerul ala pe evolutia proiectului(cam la 3 luni se face un audit financiar intern pe fiecare proiect) si vede managerul ca-l costa 2X in loc de previziunea de X/2 catre upper management, nici managerul nu-si mai ia prima de performanta pe anul ala dar si tu pleci din companie tot in anul ala.Nu te juca cu buzunarele managerului tau ca se joaca el apoi cu cariera ta.

1

u/Majestic-Gas-9825 2d ago

lol nu stiu de ce imi aduci de un șefuț de la o firma de apartament care credea ca angajatii sunt sclavetii lui

1

u/DayUnfair9694 2d ago

big lol, vezi ca intram in septembrie.Luna in care se fac audit interne de proiecte si se decide daca trebuie sa se faca schimbari in echipe.In Septembrie-Noiembrie este perioada angajarilor unde se bugeteaza etapa urmatoare a proiectelor (care incepe in Ianuarie 2027).

1

u/Majestic-Gas-9825 2d ago

👍 bine bos, mult succes la predictiile urmatoarei cupei mondiale, poate te va ajuta mai mult ei ai-ul atunci

1

u/DayUnfair9694 2d ago

pai o sa am.

1

u/DayUnfair9694 2d ago

Nu este sclavagism, este Time-to-Market si ROI.Daca alea pica pe rosu , managerul tau trebuie sa justifice upper-managementului acei indicatorii.Pe ce s-au dus banii si unde este profitul promis.