Advertencia: esta es una pregunta / discusión no muy seria que estoy publicando ... pero estoy dispuesto a apostar que la mayoría de los desarrolladores han reflexionado sobre este "problema" ...
Siempre quise obtener otras opiniones con respecto a las convenciones de nomenclatura para los métodos que fueron y obtuvieron datos de algún lugar y los devolvieron ...
La mayoría de los nombres de métodos son algo simples y obvios ... SaveEmployee (), DeleteOrder (), UploadDocument (). Por supuesto, con las clases probablemente usaría la forma corta ... Guardar (), Eliminar (), Cargar () respectivamente.
Sin embargo, siempre he tenido problemas con la acción inicial ... cómo obtener los datos. Parece que para cada proyecto termino saltando entre diferentes convenciones de nomenclatura porque nunca estoy del todo contento con el último que usé. Por lo que puedo decir, estas son las posibilidades ->
- GetBooks ()
- FetchBooks ()
- RetrieveBooks ()
- FindBooks ()
- LoadBooks ()
¿Cuál es tu pensamiento?
fuente
fetch
cuando el tiempo de acceso a los datos es bajo , es decir, en el mismo dispositivo, desde la base de datos local, desde la memoria.load
, odownload
si el tiempo de acceso es mayor , desde Internet, DB externo, desde archivoHonestamente, debería decidir con su equipo qué convención de nomenclatura utilizar. Pero para divertirnos, veamos cuál sería su línea de pensamiento para decidir sobre cualquiera de estos:
Este método pertenece a una fuente de datos, y no nos importa cómo los obtiene, solo queremos obtenerlos de la fuente de datos.
Tratas tu fuente de datos como un sabueso, y su trabajo es buscar tus libros. Supongo que deberías decidir por tu cuenta cuántos puede caber en su boca a la vez.
Su fuente de datos es un bibliotecario y utilizará el sistema Dewey Decimal para encontrar sus libros.
Estos libros pertenecen a una especie de "bolsa de libros electrónicos" y deben cargarse en ella. Asegúrese de llamar a ZipClosed () después de la carga para evitar perderlos.
No tengo nada.
fuente
add
para escribir en una base de datos y escribir en la tienda. Ahora estoy tratando de separarlos, y es un dolor.La respuesta es ceñirse a aquello con lo que se sienta cómodo y ser constante.
Si tiene un sitio web de Barnes and Nobles y usa GetBooks (), entonces si tiene otro elemento como una entidad Movie, use GetMovies (). Así que sea lo que sea que le guste a usted y a su equipo y sea constante.
fuente
En OO (C ++ / Java) tiendo a usar getSomething y setSomething porque muy a menudo, si no siempre, obtengo un atributo privado de la clase que representa ese objeto de datos o lo configuro: el par getter / setter. Como ventaja, Eclipse los genera por ti.
Tiendo a usar Cargar solo cuando me refiero a archivos, como en "cargar en memoria" y eso generalmente implica cargar en primitivas, estructuras (C) u objetos. Yo uso enviar / recibir para web.
Como se dijo anteriormente, la consistencia lo es todo y eso incluye a los desarrolladores cruzados.
fuente
No queda claro a qué se refiere con "obtener los datos". ¿De la base de datos? ¿Un archivo? ¿Memoria?
Mi opinión sobre la denominación de métodos es que su función es eliminar cualquier ambigüedad e idealmente la necesidad de buscar documentación. Creo que esto debería hacerse incluso a costa de nombres de métodos más largos. Según los estudios, la mayoría de los desarrolladores intermedios + pueden leer varias palabras en caso de camello. Con IDE y finalizaciones automáticas, escribir nombres de métodos largos tampoco es un problema.
Por lo tanto, cuando veo "fetchBooks", a menos que el contexto sea muy claro (por ejemplo, una clase llamada BookFetcherFromDatabase), es ambiguo. ¿Traerlo de dónde? ¿Cuál es la diferencia entre buscar y buscar? También corre el riesgo de que algunos desarrolladores asocien la semántica con determinadas palabras clave. Por ejemplo, buscar para la base de datos (o memoria) frente a cargar (desde archivo) o descargar (desde web).
Preferiría ver algo como "fetchBooksFromDatabase", "loadBookFromFile", "findBooksInCollection", etc. Es menos atractivo, pero una vez que superas la longitud, está claro. Todos los que lean esto entenderán de inmediato lo que está tratando de hacer.
fuente