Le flot, remis d'aplomb
Les goto et leurs etiquettes redeviennent des boucles, des
if/else et des sorties anticipees. Rien n'est laisse en l'etat parce
que « ca marche quand meme » : zero goto en sortie.
Les registres L_12_1, les goto en cascade, les boucles
mises a plat : LuaClean les remonte en code qu'on peut relire, modifier et maintenir.
Pas seulement correct — lisible.
Une cle gratuite, un nettoyage complet, sans compte ni carte.
de lignes
13 874 → 5 550
goto
restant en sortie
traces d'execution
identiques a l'original
appels compares
0 divergence
Mesures relevees sur une ressource reelle de 14 fichiers, pas une demonstration choisie.
Le meme fragment, avant et apres. Le comportement est identique — c'est verifie en comparant les traces d'execution, pas suppose.
local L_3_1, L_4_1, L_5_1
L_3_1 = 0
::lbl_7::
if L_3_1 >= 10 then
goto lbl_23
end
L_4_1 = GetPlayerPed(L_3_1)
if not L_4_1 then
L_3_1 = L_3_1 + 1
goto lbl_7
end
L_5_1 = GetEntityCoords(L_4_1)
DrawMarker(1, L_5_1)
L_3_1 = L_3_1 + 1
goto lbl_7
::lbl_23::
-- boucle retrouvee, registres nommes
for playerIndex = 0, 9 do
local ped = GetPlayerPed(playerIndex)
if ped then
local coords = GetEntityCoords(ped)
DrawMarker(1, coords)
end
end
Les goto et leurs etiquettes redeviennent des boucles, des
if/else et des sorties anticipees. Rien n'est laisse en l'etat parce
que « ca marche quand meme » : zero goto en sortie.
L_12_1 devient playerPed ou vehicleCoords,
d'apres ce que la variable fait reellement. Le modele tourne sur votre machine :
votre code ne part nulle part.
L'original et la sortie sont executes cote a cote, et leurs appels compares un a un. Une divergence, meme unique, et le nettoyage est signale plutot que livre en silence.
Aucun de vos fichiers n'est envoye, ni a l'entree ni a la sortie. Seuls votre cle et un identifiant de votre PC nous parviennent, et cet identifiant ne permet pas de remonter a vous.
Pointez une ressource : les fichiers sont traites ensemble, l'arborescence est conservee, et le tout ne compte que pour un nettoyage.
Un index de 6 437 fonctions natives FiveM sert a retrouver les signatures et a nommer d'apres l'usage reel, pas d'apres une convention devinee.
Une cle gratuite, un nettoyage complet, nommage compris. C'est la seule facon honnete de juger : sur votre code, pas sur une demonstration choisie.