No siempre, pero la mayoría de las veces, encontrará proyectos de código abierto para iOS o Mac OS X con nombres que comienzan con las letras iniciales del autor, nombres y apellidos. Si un proyecto fuera creado por Nick Leblanc, el proyecto se leería como NLMyProject
.
Ejemplos:
- RMSwipeTableViewCell por Rune Madsen,
- EBCardCollectionViewLayout por Ezequiel Becerra,
- SDiPhoneVersion por Sebastian Dobrincu,
- LNNotificationsUI por Leo Natan.
De donde viene eso? ¿Una persona lo escribió de esta manera primero y luego todos los demás lo siguieron?
No pude encontrar nada al respecto, incluso en las Pautas de Apple . ¿Está ese idioma escrito en alguna parte?
ios
objective-c
apple
conventions
namespace
Stéphane Bruckert
fuente
fuente
;-)
Respuestas:
El objetivo C, como C, no tiene espacios de nombres. Esto significa que si alguien ya ha definido una función
foo
o una claseBar
, debe ser globalmente única y no puede definirla. Esto puede generar muchos dolores de cabeza cuando tiene su código y luego agrega otra biblioteca y de repente las cosas se rompen en lugares extraños.No es una pauta presentada por Apple para esto en Programación con C Objetivo: Convenios sección de la biblioteca desarrollador iOS:
Por lo tanto, las bibliotecas que usted menciona rompen esta convención, pero llegan al corazón del problema de la falta de espacios de nombres dentro del Objetivo C.
Lectura adicional
Espaciado de nombres por NSHipster
¿Cuál es la mejor manera de resolver una colisión de espacio de nombres de Objective-C?
¿Cómo se usan los espacios de nombres en el código de Objective-C de iOS?
fuente
@
se usa porque no se usa en C ... intentar agregar otro operador que no rompa otras cosas es un desafío.