U LLM, ale i non-LLM kódu je potřeba hlavně pochopit, jak daný commit řeší zadaný problém. Dělá to, co má? Nedělá to něco navíc, co nebylo v zadání (pochopil pisatel kódu zadání, bylo jasné, co má dělat)? Nedělá to moc složitě (z výpočetního hlediska, struktury)? Drží to guidelines pro psaní kódu? Je kód srozumitelný, dobře okomentovaný, používá smysluplné identifikátory?
To zní, jakože na tom review musíte strávit snad stejně času jako původní řešitel, ne?
Vůbec ne. U review nemusím vymýšlet, jak to celé poskládat, nemusím si projít těch 10 slepých cestiček, a tak dál. Pokud kód následuje mě známé vzorce, tak typicky nepřemýšlím řádek po řádku, ale po blocích. Podobně jako text nečtu slovo po slově, ale jako větu (dyslektici prominou). Například ohledně zmiňované výpočetní složitosti typicky budu chytat jen vnořené smyčky, častý opakovaný un-boxing při práci s jednoduchými typy, a takové věci. Ve většině případů ale nebudu řešit, jestli tohle je o 10% rychlejší, nebo pomalejší výpočet.
Některý commit lze schválit "formálně", když člověk na první dobrou vidí, že je vše v pořádku.
Jak tohle jste schopen posoudit na první dobrou? Nebo to je myšleno spíš v kontextu triviálních změn?
Za mě tohle jsou triviální změny (ale definuj triviálnost

), nebo reviews, kde já jsem jen pro formální approval ("jo, může se použít tahle naše deprecated věc, protože to je jen přesun funkcionality z jedné třídy do druhé a existuje ticket na odstranění").
V dnešní době by ale každopádně měl první kolo code review dělat nějaký LLM, odhalí toho docela dost a rychle.
JJ, na tohle jsou ty plechovky super. U vygenerovanýho kódu jim pořád úplně nevěřím, ale review je možnost napáchat škody minimální, ale většinou něco odchytí.
+1, a z mojí zkušenosti mají větší šanci si všimnout chybějící změny, než člověk. Například přidal se nový volitelný field, to zahrnuje změnu 5 různých DTO, ale změnily se jen 4. Testy nepadají, protože se to taky přidalo jen do 4 testů z 5.