Photo by okeykat on Unsplash
Veamos algunos casos de nombre poco comunicativo.
Use meaningful and pronounceable variable names
Utilice nombres de variables significativos y pronunciables
MALO ❌
const yyyymmdstr = () => moment().format("YYYY/MM/DD")
BUENO ✅
const currentDate = moment().format("YYYY/MM/DD")
Utilice nombres que se puedan buscar
Dar a las constantes nombres que especifiquen lo que son.
MALO ❌
const timer = () => setTimeout(blastOff, 86400000) //what's 86400000???
BUENO ✅
const timer = () => {
const MILLISECONDS_IN_A_DAY = 86400000
setTimeout(blastOff, MILLISECONDS_IN_A_DAY)
}
Usa variables explicativas
Es importante que el código que escribimos sea legible y se pueda buscar. Al no nombrar variables que terminan siendo significativas para comprender nuestro programa, lastimamos a nuestros lectores. Haga que sus nombres se puedan buscar.
MALO ❌
const getAddress = () => {
const address = "My house, Madrid 95014"
const cityZipCodeRegex = /^[^,\\]+[,\\\s]+(.+?)\s*(\d{5})?$/
saveCityZipCode(
address.match(cityZipCodeRegex)[1],
address.match(cityZipCodeRegex)[2]
)
}
BUENO ✅
const address = () => {
const address = "One Infinite Loop, Cupertino 95014"
const cityZipCodeRegex = /^[^,\\]+[,\\\s]+(.+?)\s*(\d{5})?$/
const [, city, zipCode] = address.match(cityZipCodeRegex) || []
saveCityZipCode(city, zipCode)
}
Evite el mapeo mental
Explícito es mejor que implícito, por ejemplo, no use solo letras cuando esté iterando un array.
BAD ❌
const location = () => {
const locations = ["Austin", "New York", "San Francisco"]
locations.forEach(l => {
doStuff()
doSomeOtherStuff()
// ...
// ...
// ...
// Wait, what is `l` for again?
dispatch(l)
})
}
BUENO ✅
const locations = () => {
const locations = ["Austin", "New York", "San Francisco"]
locations.forEach(location => {
doStuff()
doSomeOtherStuff()
// ...
// ...
// ...
dispatch(location)
})
}
Dar nombre útil a las funciones
Cuando declaras funciones, intenta desacelerar con nombres descriptivos
MALO ❌
const p = (a, b) => sqrt(pow(a, 2) + pow(b, 2))
const f = n =>
[...Array(n)].reduce(
(a, _, i) => a.concat(i > 1 ? a[i - 1] + a[i - 2] : i),
[]
)
BUENO ✅
const pythagorasTheorem = (cathetus1, cathetus2) =>
sqrt(pow(cathetus1, 2) + pow(cathetus2, 2))
const fibonacci = fibonacciLength =>
[...Array(fibonacciLength)].reduce(
(accumulator, _, index) =>
accumulator.concat(
index > 1 ? accumulator[index - 1] + accumulator[index - 2] : index
),
[]
)