A menudo, cuando la sintaxis del lenguaje me obliga a nombrar una variable que nunca se usa, la denominaré _
.
En mi opinión, esto reduce el desorden y me permite concentrarme en las variables significativas del código. Me parece discreto, por lo que produce un efecto "fuera de la vista, fuera de la mente".
Un ejemplo común de donde hago esto es nombrar subconsultas en SQL.
SELECT *
FROM
(
SELECT *
FROM TableA
JOIN TableB
ON TableA.ColumnB = TableB.ColumnB
WHERE [ColumnA] > 10
) _ --This name is required, but never used here
ORDER BY ColumnC
Otro ejemplo es una variable de bucle que no se usa.
array = [[] for _ in range(n)] # Defines a list of n empty lists in Python
Utilizo esta técnica con moderación, solo cuando siento que un nombre descriptivo no agrega nada al código y, en cierto sentido, lo elimina agregando más nombres para recordar. De alguna manera lo veo como similar a la palabra clave var
en C #, que también uso con moderación.
Mis compañeros de trabajo no están de acuerdo. Dicen que incluso tener un solo nombre de carácter (alfabético) es mejor que _
.
¿Estoy equivocado? ¿Es una mala práctica hacer esto?