¿Cuál es la convención de nomenclatura para las constantes en Objective-C (o la manera más ampliamente utilizada para nombrarlas)?¿Cómo se nombra una constante en Objective-C?
¿Hay un criterio diferente para las constantes extern
?
Algunos estilos que he visto:
NSString* const kPreferenceFirstRun = @"FirstRun";
// Replace "XY" by a prefix representing your company, project or module
NSString* const XYPreferenceFirstRun = @"FirstRun";
Creo que el beneficio de un prefijo de dos letras frente a k es doble: 1) el prefijo de dos letras le permite filtrar fácilmente sus elecciones de autocompletar solo al grupo de constantes que está buscando 2) cuando mira el código, usted sabe exactamente de qué dominio proviene la constante. Imagínese si está trabajando en un proyecto que utiliza múltiples proyectos hermanos en Xcode y todos usan k como el único identificador para las constantes: usted estaría atrapado ordenando una lista de todas las constantes de todos los proyectos hermanos. Alternativamente, si cada proyecto usó su propio prefijo de dos letras, se vuelve mucho más fácil. – memmons
Punto muy interesante y respuesta muy interesante. ¿Y sería mejor tener las constantes declaradas en cada archivo de encabezado (MyClass.h), o sería mejor tener un archivo .h global (Constantes.h o similar) que contenga exclusivamente una declaración constante? He visto esta última práctica en muchos proyectos de C/C++, ¿por qué no en objC – voghDev
? Vale la pena señalar que muchas bibliotecas de Apple están utilizando la kPrefixConstantNamingConvention. Por lo tanto, si elige uno u otro, es mayormente según las preferencias personales. Normalmente uso kPrefix, pero también tiendo a evitar las constantes globales, por lo que el espacio de nombres de esas constantes se vuelve menos importante. –