Pour la clarté, et pour favoriser la bonne pratique en matière de codage, on devrait toujours déclarer des variables avant leur utilisation.
Regardant votre fonction, il n'y a aucune manière de dire a) si les variables sont simplement non déclarées, ou b) sont des variables globales avouées en dehors de la fonction.
Vous pourriez employer « la caisse d'extrémité de cas… » au lieu du multiple « si… extrémité si » des rapports :