Saltar al contenido principal

Clean code en el desarrollo de software

· 4 min de lectura
Marcelo Malacalza

¡Hola! En el mundo del desarrollo de software, no solo se trata de hacer que las cosas funcionen, sino de hacer que funcionen de una manera más elegante y eficiente. Por eso, ¿alguna vez escuchaste hablar de "Clean Code"? Si no, estás por descubrir algo realmente útil.

thumbnail image

Clean code como convención

Primero y principal, "clean code" no son reglas estrictas que tenemos que cumplir a rajatabla, sino una serie de principios o convenciones que ayudan a escribir código más intuitivo, legible y fácil de modificar tanto para la persona que lo escribe como para quien lo tenga que leer o editar en un futuro.

De nuevo, no son reglas estrictas, pero mientras las utilicemos más, seremos más felices y nos quejaremos menos..

Una vez mencionado esto, ¿cómo podemos poner en práctica estos principios? A continuación, te proporciono algunos ejemplos para que comiences a aplicarlos:|

Nombres significativos

Declarar todas las variables y funciones utilizando nombres descriptivos que reflejen su propósito. Por ejemplo:

// Mal
const d = 7 // ¿Qué es 'd'?

function q(x, y) {
// ¿Qué hace 'q' sin leer su código?
return x + y
}

// Bien
const daysInWeek = 7 // Claramente, días de la semana

function sumNumbers(a, b) {
// Ahora se entiende, sin leer el código, lo que hace la función
return a + b
}

Funciones cortas y con un sólo propósito

En lugar de tener una función extensa que realice múltiples tareas, divide la función en funciones más pequeñas, cada una con un solo propósito. Por ejemplo:

// Mal
function getAndProcessData(params) {
// Valido los parámetros
// Busco los datos en una API
// Atajo los errores
// Proceso la data
}

// Bien
function validateParams(params) {
// Valido los parámetros
}

function getData(params) {
// Busco datos en API
}

function checkErrors(params) {
// Atajo errores
}

function processData(params) {
// Proceso los datos
}

Evitar comentarios obvios

Idealmente, nuestro código debería ser comprensible sin necesidad de comentarios adicionales. Sin embargo, en caso de ser necesarios, asegurémonos de que no sean redundantes y proporcionen explicaciones que vayan más allá de la funcionalidad explícita del código. Ejemplo:

// Mal: Comentario obvio
const total = calculateCartTotal() // Calcula el total del carrito

// Mejor: Comentario explicativo
const total = calculateCartTotal() // Suma los valores del carrito de compras

// Bien:
const cartTotal = calculateCartTotal()

Un buen nombre descriptivo para la variable o método es el mejor comentario.

Mantener una indentación consistente

La consistencia es fundamental. Elige entre 2 o 4 espacios para la indentación y mantenlo constante en todo tu código.

// Mal
async function getPokeData() {
const apiResponse = await fetch('https://pokeapi.com/pokemons')
if (!apiResponse.ok) {
console.log('Ocurrió un error')
} else {
const apiData = await apiResponse.json()
return apiData
}
}

// Bien
async function getPokeData() {
const apiResponse = await fetch('https://pokeapi.com/pokemons')
if (!apiResponse.ok) {
console.log('Ocurrió un error')
} else {
const apiData = await apiResponse.json()
return apiData
}
}

Evitar pasar más de 3 parámetros en funciones

Idealmente, deberíamos limitar las funciones a un máximo de tres parámetros. Si necesitamos pasar muchos, podemos utilizar un objeto para agruparlos. Esta solución resulta en un código más legible, más conciso y evita la necesidad de recordar el orden de los parámetros. Ejemplo:

// Mal
function processData(flag, data, id, aFilter, bFilter, cFilter, actionByFilter) {
// Mi código
}

// Bien
const filterParams = {
id,
aFilter,
bFilter,
cFilter,
actionByFilter
}

function processData(flag, data, filterParams) {
console.log(filterParams.id)
console.log(filterParams.actionByFilter)
}

Conclusión

Al aplicar todos los consejos mencionados anteriormente, estarás llevando a cabo una refactorización de tu código, lo que resultará en un código más limpio y ordenado. Estos principios no buscan simplemente hacer que tu código luzca mejor, sino que se centran en que te conviertas en un desarrollador más efectivo y colaborativo. Hacer que tus desarrollos sean más fáciles de comprender, mantener y compartir es un beneficio para todos. Entonces, ¡anímate a desarrollar de la manera más limpia posible!