Vertyos a écrit :
Il parrait que pour certaines mauvaises langues, mes sources sont également des suites incompréhensibles 
Vark a écrit :
ce ne sont pas des mauvaises langues 
Je confirme.
Quelques conseils:
* Utilise plus de 3 lettres pour la partie vraiment intéressante des noms de variables! Pour l'instant, tu as des noms de variables de 7 lettres, dont 4 inutiles (nom de type en 3 lettres et '_'). Le C permet des noms de variables de longueur arbitraire, il n'y a aucune raison de te limiter à 7 lettres!
* Il n'y a aucune raison non plus d'utiliser des noms de 7 lettres quand 1 lettre suffit (
i au lieu de
int_idx). En général:
- utilise
i,
j,
k pour des indices de tableaux, sauf si tu as beaucoup d'indices qu'il faut savoir différencier
- utilise
n,
m pour des nombres d'éléments
- utilise
x,
y (et
z pour du 3D) pour des coordonnées
- utilise des noms complets ou des abbréviations compréhensibles (par exemple
filehdl -
filehdls pour les tableaux - est acceptable pour "file handle",
fhd ne l'est pas) pour tout le reste
* Arrête d'utiliser des préfixes
tbl_!
- Ça ne sert à rien, on sait seulement que c'est un tableau, mais pas de quel type (ce qui est plus important).
- Il y a une convention établie pour faire reconnaître un tableau: on utilise un nom de variable au pluriel (et un au singulier pour les autres variables)! Évidemment, pour ça, il faut utiliser des noms reconnaissables comme des noms communs, pas des noms de 3 lettres.
* Arrête d'utiliser des préfixes
int_, tout le monde sait que la plupart des variables sont des entiers.
* Si tu n'arrives pas à te passer des noms de types, mets-les à la fin, pas au début:
- C'est plus logique: "name_str" = "name string" (anglais grammaticalement correct) (ou "name of type string" si tu préfères, c'est également une interprétation correcte), "str_name" = "string name"? (anglais incorrect), "string of name"? (anglais incorrect).
- Ça permet de voir de quoi il s'agit à première vue d'œil. Là, dans tes sources, on n'arrive pas à distinguer tes variables, on voit plein de
int_... et de
tab_... (préfixes qui d'ailleurs sont inutiles).
Quelques exemples bidons (qui ne sont tirés d'aucun programme concret) pour montrer ton style et ce qu'il faut faire pour en faire du code lisible:
- style Vertyos:
tbl_spr[int_idx]=tbl_spr[int_idx-1];
- style lisible: [i]sprites
=sprites[i-1]
(Remarque l'absence totale d'indications de type redondantes, l'utilisation d'un mot complet pour
sprite(s) et de
i plutôt que
idx.)
- style Vertyos:
sym_sav=tbl_sav[int_num];
- style lisible:
savestate_sym_entry=savestate_sym_entries[n];
(Remarque l'absence du préfixe
int_, l'indication du type
SYM_ENTRY à la fin, l'écriture de
savestate et de
sym_entry en entier, l'utilisation du pluriel, et le nom
n à la place de
(int_)num.)
- style Vertyos:
if (int_enx<int_plx)
- style lisible:
if (enemy_x<x)
(absence de
int_, utilisation de
x, absence de
pl(ayer) - c'est évident:
x tout seul est celui du personnage principal -, écriture de
enemy en entier)
- style Vertyos:
wnd_hms=FirstWindow;
- style lisible:
homescr_window=FirstWindow;
(type à la fin, utilisation d'une abréviation compréhensible pour "home screen")