Convenciones de nombres – El camino del nominador.

¡Bienvenidos un día más a un nuevo rootie queridos amigos! Después de un mes y cinco días sin ponerme al teclado de ohmyroot, ¡estoy de vuelta! Y vengo con un tema técnico, pero ligerito, hoy vamos a hablar de algo que suele dar dolores de cabeza a todos programadores en un momento u otro, me refiero, por suspuesto, a las convenciones de nombres.

¿Convenciones de nombres?

Efectivamente, esto existe. Para los que todavía no sabéis por donde van los tiros aquí la explicación de nuestra fuente de conocimiento favorita:

En Programación, una convención de nombres es un conjunto de reglas para la elección de la secuencia de caracteres que se utilice para identificadores que denoten variables, tipos, funciones y otras entidades en el código fuente y la documentación – Wikipedia

Después de leer esta definición a algunos de vosotros, lectores mas avispados, os sonará que ya hemos hablado antes sobre esto, la respuesta es si y no. En mi anterior post sobre estándares de codificación, lo mencione de pasada, pero hoy lo vamos a ver en serio.

Ventajas

Aunque no os lo creáis, las tiene y no solo cuando trabajas en equipo.

«Que tire la primera piedra quien pueda recordar todo de una aplicación que no ha tocado en 6 meses» – Yisus Critplus

A todos nos ha pasado el abrir un proyecto personal y tener que invertir tiempo en entender algunas partes. Algo que se complica muchísimo más si los nombres de clases, variables etc. no son claros.

Y cuando trabajamos en equipos el utilizar una convención de nombres, da a todos los miembros del equipo un punto común para hacer un código que sea legible y entendible lo más fácil posible, veámoslo con un ejemplo:

Convencion de nombres – Programación.

El primer punto a destacar sobre las convenciones, es que no hay una regla universal que se aplique a todos lenguajes, cada uno tiene sus modificaciones.

Pero aun existiendo estas diferencias, podemos extraer ciertas reglas que se observan en la gran mayoria de lenguajes, especialmente relacionadas con que palabras debemos escoger.

Clases.

  • Representan “cosas” y no “acciones”, por tal motivo evitar verbos como nombre de clase.
  • El nombre de la clase debe estar en singular, salvo que la clase represente multiplicidad de cosas.
  • Las Nombres de las clases deberían ser Sustantivos: ejemplo coche, hombre, pais, proveedor, etc.

Métodos y funciones.

  • Los nombres de los métodos deberían ser un verbo, dado que describe una acción ; ejemplo eliminar(), enviar(), guardar(). Se puede usar un verbo en conjunción con un sustantivo también.

Variables

  • Evitar variables que de un solo carácter.
  • El nombre de una variable sólo debe contener caracteres alfanuméricos

Aquí podemos ver un ejemplo de todo lo anterior en PHP:

Convención de nombres – Bases de datos

Otra area donde podemos adoptar las convenciones de nombres, ¡es en las fantásticas bases de datos! Y aquí por experiencia propia digo que nada como una base de datos con todos sus nombres claros.

 Tablas.

  • Las tablas que representan una entidad han de nombrarse con un sustantivo en plural en minúsculasproductoscoches, clientes.
  • Aquellas tablas generadas de una relación o similar, utilizará una combinación de ambas tablas, por ejemplo; CocheClientes

Columnas.

  • Claves primaria: Para este campo, hay dos opciones id<nombre_tabla>_id. A mi personalmente me gusta usar id, lo que hace que no necesite recodar nada para escribir JOIN statements, etc.
  • Claves foránea: Para esto utilizaremos el id y el nombre de la tabla. <nombre_tabla>_id.
  • Identificador (columna): Utilizaremos identificadores en singular (siempre que se posible) con snake-case. (fecha_creación, total_productos, etc.)

Aquí podemos ver un ejemplo de lo mencionado anteriormente.

Es importante saber también que cada proyecto puede definir su propia convención de nombres para ajustarse a las necesidades y del equipo o producto.

Y con esto nos despedimos por hoy queridos rooters, ¡nos vemos en el próximo rootie!

Como siempre para cualquier duda, pregunta, comentario, insulto, soborno o amenaza, podéis usar los comentarios o en nuestras redes sociales Facebook y Twitter.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *