le problème dans ton code c´est que les "commentaires" suffisent peut-être à savoir ce qu´est cencé faire une fonction.
Mais ton problème est que tes fonctions ne font pas ce qu´elles sont cencé faire. Or, comprendre des lignes de codes qui font deux écrans de large ou presque, ça c´est vraiment dur, et là tes commentaire ne servent pas, car ce n´est pas ça qu´ils expliquent.
Pour faire propre, arrange toi pour ne pas mettre plus d´une ou deux fonctions par lignes.
Je connais même des compilo qui font des "remarques" (sorte d´avertissements en encore moins fort) dès qu´il y a trop de fonctions sur une ligne (pour être précis c´est ICC qui préviens lorsque l´ordre d´évaluation des arguments n´est pas prévu par la norme et pourrait faire des effets de bords).