4 votos

¿Longitud máxima de los nombres de variables y funciones?

No estoy seguro de si esto es una propiedad del compilador o algo estándar de C. He oído hablar de límites en el número de caracteres que puede tener una variable o función (por ejemplo, 25 caracteres).

Todavía no estoy allí, pero acabo de ver una función decentemente larga y he empezado a pensar en ello. ¿Hay algún límite que deba conocer?

4voto

Clay Nichols Puntos 4252

Según creo, la mayoría de los compiladores de C tienen un límite de 255 caracteres para un identificador. Normalmente encuentras toda la información que necesitas en el manual del compilador. En tu caso es el Guía del usuario del compilador de C MPLAB XC8 :

3.4.4.3 ¿QUÉ LONGITUD PUEDEN TENER LOS NOMBRES DE MIS VARIABLES Y MACROS?

La norma C indica que sólo un número específico de caracteres iniciales en un identificador son significativos, pero no indica realmente cuál es este número y varía de compilador a compilador. Para XC8, los primeros 255 caracteres son significativos, pero esto puede ser reducirse utilizando la opción -N; véase la Sección 4.8.8 "-N: Longitud del identificador". Cuantos menos caracteres haya en los nombres de las variables, más portable será su código. El uso de la opción -permite al compilador comprobar que sus identificadores se ajustan a una longitud específica. Esta opción afecta a los nombres de variables y funciones, así como a los nombres de macros del preprocesador.

Si dos identificadores sólo difieren en la parte no significativa del nombre, se consideran que representan el mismo objeto, lo que casi seguramente conducirá a un fallo de código.

Tenga en cuenta que no es una buena práctica tener nombres de identificadores largos. Hace que tu código sea más difícil de leer y entender.

2voto

Spehro Pefhany Puntos 90994

Cualquier limitación a la longitud de los identificadores depende de la implementación, pero los primeros 31 caracteres deberían ser significativos en una implementación conforme.

Para que quede claro, está bien permitir identificadores de 4000 caracteres, pero hacer que Pseudohipoparatiroidismo_1 (silenciosamente, involuntariamente) se refiera a la misma variable que Pseudohipoparatiroidismo_2.

2voto

Godisemo Puntos 204

Depende del compilador, consulte el manual del compilador. Hay normas, pero es mejor consultar el manual del compilador. Para GCC dice que el nombre puede ser "arbitrariamente largo", así que no hay límite.

Los nombres largos de las variables son una buena idea si son descriptivos. Algo como "USER_prepare_new_user_log()" te dice que la función es parte del archivo/subsistema "USER" y el resto es descriptivo y fácil de leer. Algunas personas usan cosas como Camel Case pero yo prefiero los guiones bajos para facilitar la lectura.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X