Para escribir y mejorar que nuestro código sea mantenible, este tiene que ser legible y fácil de entender. Esto es una pŕactica que nos ayudará a tener un códogo que de un solo vistazo, podamos interpretar y deducir que está haciendo. Son pequeños detalles, que suman y se consiguen buenos resultados.
Estas son las 5 pŕacticas :
1.- Reemplaza los numeros magicos y cadenas por constantes
2.- Usa comparaciones estrictas
5.- Usa excepciones específicas
Reemplaza los numeros magicos y cadenas por constantes
Mejor usar constantes que un número que no nos dice nada. Cuando usamos valores repetidamente en nuestro código, es mejor usar constantes en lugar de repetir el valor por todo el código.
Es mejor guardar nuestro valor en una constante, que tener el valor donde lo vamos a usar. Una constante es como una variable, pero su valor no cambia. Podemos definir la constante en una clase, teniendo el código encapsulado, o en una parte del código accesible.
De esta forma, nuestro código será más fácil de mantener, ya que si nuestro valor cambia, sólo lo tendremos que cambiar en un solo sitio, a diferencia de tenerlo distribuido por todo el programa.
Nuestro código también será más fácil de leer, dándole un nombre representativo a la constante, ya que por ejemplo, si tenemos una constante IVA_BASICO = 4 , nos dirá algo mas que si tenemos solo un 4 .
Usa comparaciones estrictas
La comparación estricta, comprueba el valor y el tipo de la variable que estamos usando.
Con esta práctica, evitamos errores al pasar parámetros, y al trabajar con ellos, que una vez pasado, si no se detecta, nos puede crear otro problema mayor. Si validamos los datos y los tipos, nuestro programa será más seguro.
Nuestro código será asi más predecible, ya que se espera un tipo de datos, y una respuesta acorde a los tipos de datos introducidos.
Evita usar else
Hay condiciones que no son necesarias, y evitamos un nivel más o código innecesario para comprobar algo que ya sabemos que no va a pasar.
Por ejemplo, si tenemos una funcionalidad que solo va a funcionar cuando un usuario esté autenticado :
...
if( $user->isLoggedIn() ) {
// do something if it is logged
return
} else {
// do something if it is not logged
return
}
Se podría transformar en :
if ($user->isLoggedIn()) {
//do something if it is logged
return
}
// do something if it is not logged
De esta forma, el código es más fácil de leer y se reduce. En este caso la ganancia es mínima, pero para casos más extensos, la diferencia será notable.
Usa operadores ternarios
Muchos de los lenguajes de programación tienen este operador ternario, que nos permite reducir la complejidad de sentencias de decisión en una sola línea, como este ejemplo en PHP :
...
return $user->isLoggedIn() ? ' Bienvenido ' . $user->getName() : '<a href="/login">Hacer login</a>' ;
Una lógica que podría ocupar fácilmente 5 líneas, se reduce a 1.
Cuando tenemos que usar una comparación más compleja, podemos usar el operador ternario, para simplificar la lectura de la condición.
Usa excepciones específicas
Cuanto más sepamos del error, y mejor lo identifiquemos, mejor podemos actuar para resolverlo y dejar el programa en un estado estable.
Si una sentencia tiene una posible excepción especial que se puede disparar, debemos usarla, así podremos identificar más exactamente que ha pasado para que suceda el error, y podremos registrarlo correctamente en nuestro sistema de logs, y actuar de forma más exacta para solventarlo.
Conclusión de escribir código mantenible.
Estas ideas nos ayudarán a entender mejor el código que estamos leyendo, aunque seamos nosotros mismos los que lo escribamos y nos enfrentemos a él unos meses después.
También nos facilitarán la detección de errores en una fase temprana del desarrollo, y no cuando ya estemos en una fase avanzada y cueste más corregir un error de código.
Estas prácticas nos acercarán a tener un código limpio.