Spesso quando la sintassi della lingua mi richiede di nominare una variabile che non viene mai utilizzata, la chiamerò _
.
Nella mia mente, questo riduce il disordine e mi consente di concentrarmi sulle variabili significative del codice. Trovo che sia discreto in modo da produrre un effetto "lontano dagli occhi, lontano dalla mente".
Un esempio comune di dove faccio questo è nominare sottoquery in 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
Un altro esempio è una variabile di ciclo che non viene utilizzata.
array = [[] for _ in range(n)] # Defines a list of n empty lists in Python
Uso questa tecnica con molta parsimonia, solo quando sento che un nome descrittivo non aggiunge nulla al codice, e in un certo senso lo toglie aggiungendo altri nomi da ricordare. Per certi versi la vedo simile alla parola chiave var
in C #, che uso anche con parsimonia.
I miei colleghi non sono d'accordo. Dicono che anche avere un singolo nome di carattere (alfabetico) è migliore di _
.
Mi sbaglio? È una cattiva pratica fare questo?