2010-01-09 5 views
6

Cuando estoy programando, a menudo me encuentro escribiendo funciones que -deben- (para ser inglés correcto) contienen apóstrofes (muy mal C comenzó a todos pensando que un apóstrofo era un delimitador apropiado). Por ejemplo: get_user's_group() -> get_users_group(). ¿Qué hacen ustedes con ese forzado-malo-inglés inglés ambiguo? Solo ignora el apóstrofo? Crear un fraseo diferente?¿Cómo se soluciona la necesidad de apóstrofes en ciertos nombres de funciones?

+2

Seguramente no es sobre el mal inglés, especialmente sobre la gramática pero la programación. Estoy de acuerdo en que cualquier nombre debería ayudar a describir lo que proporciona esa clase/propiedad/método en particular y eso es todo. – David

+0

Mira el lado bueno: al menos no obtendrás ningún apóstrofo de frutería. –

+0

Supongo que, como menciono a continuación, es más la ambigüedad de las frases resultantes (get_users_group es mi ejemplo) que me molestan, más que el hecho de que "no es inglés correcto". – Kzqai

Respuesta

12

En ese caso, yo haría get_group_for_user().

Así que, sí, me gustaría "crear una redacción diferente" :)

O eso, o user.get_group().

+4

+1 user.getGroup() significa exactamente obtener el grupo del usuario. – JCasso

2

¿Qué tal getGroupByUser?

+1

o GetGroupForUser – MikeW

4

¡Ignorarlo, seguir adelante!

Aunque get_user_group() también funcionaría en este caso.

3

O bien get_user_ApostropheShouldBeHereButLanguageWillNotLetMe_s_group o simplemente ignórelo porque realmente no importa.

+3

Es importante para otra persona que lea el código, ya que get_users_group puede significar (al menos) dos cosas diferentes. –

+1

Si tiene la documentación adecuada, no creo que sea un gran problema. –

+0

Importa, pero no es suficiente para vivir. Una simple reformulación es todo lo que se requiere. – keyboardP

7
getGroupForUser() 

o

getGroupByUser() 
+0

Supongo que esos son votos para reformular. – Kzqai

0

Normalmente tan sólo reduce el apóstrofe, pero no el trabajo de back-garrapatas? (get_user`s_group)

1

I ignore el apostraphe getGroupyUser y group_from_user son perfectamente comprensibles. Preocuparse por tener una gramática correcta en los nombres de sus funciones es una pérdida de tiempo y distrae del objetivo correcto de tener nombres de usuario claros y comprensibles.

0

getGroupOfUser? getUserGroup?

Es un lenguaje de programación, no la literatura ...

Sería getBackgroundColour en Inglés adecuada (en lugar de getBackgroundColor)

1

el punto de Inglés adecuado en función de nombres es un poco extremo ...

me refiero a por qué el apóstrofo te molesta, pero el _ en lugar de un espacio no lo es?

+0

Porque nadie usa _ en escritura/habla normal. Los apóstrofes, por otro lado, son bastante básicos. – Kzqai

+0

ese no era mi punto ...Quise decir por qué está bien reemplazar espacios y no apóstrofos ... si el problema es qué tipo de charles usar, también podrías reemplazar apostropes con _ –

+0

. Supongo que es que _ es un reemplazo eficiente para el espacio, mientras que el apóstrofo no tiene un reemplazo útil que pudiera pensar. * shrugs * – Kzqai

1

Dependiendo del lenguaje de programación que puede ser capaz de utilizar los nombres de variables Unicode, this SO thread lists a few.

Con identificadores Unicode que puede utilizar uno de los unicode apostrophes para dar el formato correcto idioma Inglés a su nombre de la variable. Aunque esto solo es especulativo. Y sería difícil de mantener. En realidad, ahora que lo pienso, suena francamente malvado.

+0

Incluso puede agregar espacios Unicode en un nombre de función. –

+1

Ahora que es puro mal – leepowers

+0

me gustaría ver a alguien tratando de invocar esas funciones .. lol –

0

Personalmente escribiría get_user_group() en lugar de get_group_for_user() ya que parece que me lee mejor.Por supuesto, utilizo un lenguaje de programación, donde apóstrofes están permitidos en los nombres:

proc get_user's_group {id} {#...} 

Aunque, algunos de los usuarios europeos no-Inglés-nativas más prolíficos lo utilizan como un separador de palabra:

proc user'group {id} {#...} 

para cada uno, supongo.

1

Dos puntos: Primero, no use un nombre que de otro modo requeriría un apóstrofo si puede evitarlo. En segundo lugar, tiene razón al preocuparse por la ambigüedad. Por ejemplo, podría tener:

  • getUsersGroup: obtiene el grupo de una lista de usuarios. Si está utilizando un lenguaje orientado a objetos, esto podría tener más información que solo una cadena de ID de grupo. También podría tener algo como createUsersGroup, que crearía un objeto de grupo a partir de una lista de usuarios pasados.
  • getGroupOfUser: toma algún tipo de objeto de usuario; devuelve el nombre del grupo del usuario
  • getGroupByUserId: toma el nombre del usuario o un ID único asociado con ese usuario; devuelve el nombre del grupo del usuario

La mejor manera de delinear la diferencia entre todos estos es simplemente usar los comentarios de métodos estándar que explican los nombres de los métodos. Esto dependerá del idioma con el que trabaje y del estilo de los comentarios de método que su organización usa convencionalmente.

Cuestiones relacionadas