Często, gdy składnia języka wymaga, abym nazwał zmienną, która nigdy nie jest używana, nadam jej nazwę _
.
Moim zdaniem zmniejsza to bałagan i pozwala skupić się na znaczących zmiennych w kodzie. Uważam, że jest dyskretny, dlatego wywołuje efekt „poza zasięgiem wzroku, poza zasięgiem umysłu”.
Typowym przykładem tego, co robię, jest nazywanie podkwerend w 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
Innym przykładem jest zmienna pętli, która nie jest używana.
array = [[] for _ in range(n)] # Defines a list of n empty lists in Python
Używam tej techniki bardzo oszczędnie, tylko wtedy, gdy czuję, że opisowa nazwa nic nie dodaje do kodu, iw pewnym sensie odbiera ją, dodając więcej nazw do zapamiętania. Pod pewnymi względami postrzegam to jako podobne do var
słowa kluczowego w C #, którego również używam oszczędnie.
Moi współpracownicy się nie zgadzają. Mówią, że nawet posiadanie pojedynczej (alfabetycznej) nazwy znaku jest lepsze niż _
.
Czy się mylę? Czy to jest złą praktyką?
[table].[column]
identyfikatorów, bardzo ułatwia to czytelność [T].[column]
. To oczywiście zależy od scenariusza. Taka mała selekcja jest w porządku, ale jeśli skrypt byłby bardzo duży, mógłbym użyć bardziej opisowych nazw.