2011-04-12 17 views
8

En Google de Objective-C Style guide que es seguir por muchas personas, Google dice variables miembro¿Por qué Google sugiere usar guiones bajos al nombrar iVars en Objective-C?

clase se arrastra subraya

¿Por qué? ¿Hay alguna buena razón para hacer esto? Encontré que la manzana suele nombrar un ivar al comienzo del subrayado.

+0

Un posible razonamiento es que los nombres de variables de instancia nunca colisionarán con los de Apple. No encuentro este problema porque el compilador dará un error en ese caso, y las herramientas de refactorización hacen que sea fácil cambiar el nombre de las variables de instancia si eso sucede. –

+0

+1 porque no sabía que Google tenía una guía de estilo Objective-C. –

Respuesta

5

Los usuarios avanzados de Core Data también habrán notado que los atributos de Core Data no pueden comenzar con caracteres que no sean alfa. Si desea nombrar ivars consistentemente en su aplicación y varios proyectos, esta es otra razón para agregar, en lugar de anteponer, sus ivars con un guión bajo.

Si no está utilizando mucho los datos centrales, o si no tiene tendencias TOC hacia la coherencia en las convenciones de nomenclatura, entonces lo que funcione mejor para usted es probablemente la respuesta correcta.

0

Es simplemente su estilo preferido. El guión bajo, ya sea prefijado o sufijo, representa que es un ivar privado y no una propiedad o ivar público.

25

prefiero arrastre de relieve, porque si tengo:

int test_; 

puedo escribir 't' y que va a aparecer en la finalización de código inmediatamente.

Con

int _test; 

Tengo que teclear '' t' para obtener el código de finalización del T.

Si eso es cierto o no, no estoy seguro, pero eso es lo que me he convencido.

+0

+1: Buena respuesta. No había pensado en esto. – FreeAsInBeer

+0

+1: hago el guión bajo final por la misma razón. –

+9

Me gusta todo lo contrario, con un guión bajo como el primer caracter que puedo escribir "_" y obtener una lista de finalización para todas las variables privadas – drewag

2

Esto podría ser un remanente de C++ style guide. En C++, los caracteres de subrayado iniciales son reserved.

Su convención de nomenclatura para códigos de objetivo es consistente con las variables de miembros privados de C++.

Cuestiones relacionadas