it-swarm-es.com

"A", "an" y "the" en los nombres de métodos y funciones: ¿Cuál es tu opinión?

Estoy seguro de que muchos de nosotros hemos visto nombres de métodos como este en un momento u otro:

  • UploadTheFileToTheServerPlease
  • CreateATemporaryFile
  • WriteTheRecordToTheDatabase
  • ResetTheSystemClock

Es decir, nombres de métodos que también son oraciones en inglés gramaticalmente correctas e incluyen palabras adicionales simplemente para que se lean como prosa. Personalmente, no soy un gran admirador de nombres de métodos tan "literales", y prefiero ser sucinto, sin dejar de ser lo más claro posible. Para mí, palabras como "a", "an" y "the" simplemente se ven incómodas en los nombres de los métodos, y hacen que los nombres de los métodos sean innecesariamente largos sin agregar nada útil. Preferiría los siguientes nombres de métodos para los ejemplos anteriores:

  • UploadFileToServer
  • CreateTemporaryFile
  • WriteOutRecord
  • ResetSystemClock

En mi experiencia, esto es mucho más común que el otro enfoque de escribir los nombres más largos, pero he visto ambos estilos y tenía curiosidad por ver qué pensaban otras personas sobre estos dos enfoques.

Entonces, ¿estás en el campo de "nombres de métodos que se leen como prosa" o en el campo de "nombres de métodos que dicen lo que quiero decir pero se leen en voz alta como una mala traducción de un idioma extranjero al inglés"?

16
Mike Spross

Estoy de acuerdo en que los métodos en prosa apestan con una excepción:

Casos de prueba unitarios

Por lo general, nunca se llaman en su código y se muestran en los informes de prueba. Como tal, es útil tener lecturas con un poco más de prosa:

  • AddingACustomerOrderFailWhenCustomersIdIsInvalid: Failed
  • OutOfBoundsPriceReturnsAnError: Passed
  • CanDeleteAnEventFromASeason: Passed

Incluso esto debería hacerse con moderación, pero puedo verlo como al menos un caso en el que las adiciones gramaticales pueden hacer que sea un poco más fácil expresar lo que pasó y lo que falló. Esto es, por supuesto, a menos que su lenguaje/marco proporcione un buen mecanismo para las descripciones de las pruebas en la lectura de la prueba que no sean los nombres de los métodos, en cuyo caso ignore este también.

21
Fishtoaster

Parafraseando a Lawrence de Office Space ...

No, no, hombre, sí creo que si alguien con quien trabajé por aquí nombrara una función 'UploadTheFileToTheServerPlease', él conseguiría su ...

10
GrandmasterB

Tales nombres "largos" no suenan a prosa. Cuando están solos, tal vez, pero acompañados con el resto del código, hacen más lío. Echale un vistazo:

bool ResultOfTheUpload
      = UploadTheFileToTheServerPlease(TheNameOfTheFile, TheServersAddress);

¡Yuuuuk! ...

Este no es un texto válido en inglés, y en ningún lenguaje de programación se verá como tal. Así que no tiene sentido gastar bytes en artículos.

10
P Shved

Desde la perspectiva de los programadores, "UploadFileToServer" tiene más sentido y es más fácil de leer y comprender que "UploadTheFileToTheServerPlease".

Más que la gramática inglesa, la legibilidad y la comprensibilidad importan más en la programación.

7
Gopi

Dada la cantidad de errores tipográficos que presenta mi vida, terminaría con

* UploadTehFileToTehServerPleaz
* WriteTehRecordToTehDatabase
* ResetTehSystemClock
* ICanHazTehCheezburger

En serio, incluso miraría el nombre de mi clase. Si mi clase se llamara "Archivo", probablemente iría con

*UploadToServer
*DownloadFromServer

Entonces seria

   File file = new file;
   file.UploadtoServer(ServerAddress);

Solo un ejemplo trivial, pero espero que sea lo suficientemente ilustrativo.

2
MIA

A mí personalmente no me importa. Los he visto y no me molestan. Ni siquiera pensé en ellos hasta que otro programador se puso a despotricar sobre ellos. Me sorprendió que alguien se preocupara tanto por algo que importa tan poco. Quiero decir que en realidad estaba enojado por eso. Pero eso fue al principio de mi carrera, hace unos 11 años, y desde entonces descubrí que los desarrolladores se enojan por cosas menores en realidad es bastante común. Es por eso que a los gerentes de desarrolladores se les paga tan bien. Tienen que tratar con los desarrolladores a diario.

Y prefiero ver eso que "UL_FlToSrv".

0
ElGringoGrande