Pues creo que estaría bueno, ya que ayudaría a entender mejor los codes de otros, por ejemplo en el último batch en el que estoy trabajando tengo cerca de 100 variables, más de 50 labels seguro y bueno, a la hora de encontrar algo es un desorden total...
Asi que voto a favor, por mi parte creo que sería bueno que al principio del batch se hiciera una sección con la declaración de las variables, separadas en grupos segun si son de valor numérico (incluyendo valores hexadecimales y binarios), de valor "textual" o de valor True-False (no me acuerdo como se dice).
Ejemplo:
REM ********* .: sección DE DECLARACION DE VARIABLES :. *********
REM ************ .: VARIABLE'S DECLARATION SECTION :. ************
REM ---------- VARIABLES NUMERICAS - NUMERICAL VARIABLES ----------
REM Aqui se declararan las variables que SIEMPRE tendrán un valor NUMERICO
REM ---------- VARIABLES "TEXTUALES" - "TEXTUALS" VARIABLES ----------
REM Aqui se declararán las variables que tendran un valor TEXTUAL (contendran texto)
REM ---------- VARIABLES DE OPCION - OPTION'S VARIABLES ----------
REM A veces es mejor, o simplemente más facil comparar un valor con otro para decidir a que menu dirigir el script
REM ---------- VARIABLES DE TRABAJO - WORK VARIABLES ----------
REM Aqui se declararan las variables que se editaran a lo largo del batch
REM ---------- VARIABLES TRUE-FALSE ----------
REM Aqui vendran las variables que tengan valor Verdadero o Falso
No se si se entiende, lo que quiero decir, y luego lo que tu dices de las funciones me parece perfecto, así como vendría bien también definir los menúes mediante el uso del prefijo "mnu" antes del nombre del menú
Ejemplo:
:mnu_1
:mnu_D
:menu_User
Luego veré si se me ocurre algo más, saluDOS