Jaka jest idiomatyczna nazwa zmiennej, którą można wyrzucić? [Zamknięte]


11

Dyrektywa ustawiania języka szablonów prędkości wymaga zmiennej po lewej stronie. To nie działa

#set ( $entries.add("d") )

Mimo że nie używam wartości zwracanej add("d"), muszę przypisać ją do zmiennej.

#set ( $x = $entries.add("d") ) 

Chcę poinformować, że zmienna jest konieczna, ale nie mam zamiaru jej później używać. Czy istnieje konwencja nazywania zmiennych, które istnieją tylko po to, by uspokoić kompilator?


2
co powiesz na użycie komentarza
Gratzy

foo? [15 znaków]
Konrad Morawski,

6
Nazwałbym to zapachem kodu.
Joel Etherton,

Cześć Patrick, pytania o zmiennym nazewnictwie są tutaj nie na temat: aby uzyskać więcej informacji, sprawdź Czy pytania „nazwać to coś” są na temat?

1
@ Mark Okay, dzięki. FWIW, myślę, że to pytanie skłania się bardziej w kierunku „właściwego terminu na pojęcie” niż „nazywania sugestii dla klasy lub metody”. Szukam nazwy idiomatycznej, która byłaby używana w różnych językach i bazach kodów, a nie konkretnej nazwy dla jednej zmiennej.
Patrick McElhaney,

Odpowiedzi:


26

Zwykle używam dummydo tego rodzaju sytuacji (zmienna, którą muszę mieć, chociaż nie muszę jej używać).


Zawsze używam ignorowanego. Dodałbym własną odpowiedź, ale nie mogłem wymyślić nic więcej na ten temat.
John Buchanan,

2
Oprócz manekina używam też _ (niektóre języki to akceptują), zrzutu, śmieci, bhole (z czarnej dziury), bezużyteczne i niektórych innych nazw, których obecnie nie pamiętam.
PEdroArthur,

+1, ponieważ po wielu poszukiwaniach odkryłem, że domyślnie pylint ignoruje nieużywaną zmienną o nazwie „_” lub „dummy”. logilab.org/card/pylintfeatures#id9
Patrick McElhaney

Podczas szukania czegoś innego znalazłem wzmiankę o manekinie $ konkretnie w Velocity .
Patrick McElhaney,

16

Powinieneś sprawdzić i sprawdzić, czy twój język ma nazwę specjalnie do tego zastosowania - Python ma _, że powinieneś używać dla zmiennych, które zamierzasz wyrzucić.


10
Zwróć uwagę, że _jest to tradycyjna nazwa tego rodzaju zmiennej w językach, które zapewniają dopasowanie wzorca (ML, Haskell, scala itp.)
Barjak

@barjak Dobrze wiedzieć - nigdy nie używałem żadnego z tych języków, myślałem, że to kwestia Pythona
Izkata,

12

manekin , temp , śmieci , black_hole , śmieci ... wszystko to mówi mi, że nie będę ich używać do niczego.

Jeśli jednak używam go do czegoś, zawsze zmieniam nazwę zmiennej.


1
+1 za zmianę nazwy, jeśli użyjesz go później.
Spencer Rathbun

Dzięki, ale to nie odpowiada na pytanie. Mogę wymyślić wiele nazwisk, które mówią „to nie jest ważne”. Szukam jednej standardowej nazwy.
Patrick McElhaney,

Z wyjątkiem kilku nowszych języków większość z nich nie ma takich języków. Taki standard nie istnieje, jeśli nie uważa się tych, którzy zdobyli najwięcej głosów, za „standard”.
Wieżowiec

3

Masz już wiele dobrych odpowiedzi, ale pomyślałem, że rzuciłem jedną, która jest bardziej bezpośrednio związana z prędkością.

Co zwraca metoda add? Jeśli jest zerowy, możesz po prostu powiedzieć prędkości, aby po cichu się do niej odwoływała:

$!entries.add("d")

Jeśli jednak zamieniasz wartość, która zwraca starą wartość (jak robi to Map.put), musisz ustawić ją na jakąś zmienną fikcyjną, jeśli jest to metoda void, nie powinieneś potrzebować zmienna w ogóle.

Jeśli jesteś zdecydowany nie używać nowej zmiennej, możesz wykonać następujące czynności:

#if($entries.add("d")) #end

Jeśli używasz go wystarczająco często, utworzę dla niego makro, a następnie użyj go we wszystkich szablonach. Nie rozumiem, jak może to być przydatne, ale przynajmniej musisz to skomentować tylko raz ...


Znakomity! Metoda zwraca truew tym przypadku ($ wpisy to ArrayList), ale chciałbym, żeby zadziałało.
Patrick McElhaney,

Bałam się, że faktycznie odwołujesz się do listy. Zredagowałem odpowiedź, aby wskazać sposób, w jaki można przejść bez użycia fikcyjnej zmiennej, ale nie jestem pewien, czy jej
Scott

2

Nadałbym temu rozsądną nazwę i dodałbym komentarz wyjaśniający, że przypisujesz go tylko w celu uspokojenia kompilatora. Widziałem przypadki, w których ktoś użył nazwy zmiennej podobnej, unuseda inny programista użył tej zmiennej pod tą nazwą i zrobił brzydki bałagan kodu.


Też lubię nieużywane . Jedyny problem, jaki mam z tym, to fakt, że używam go w momencie, gdy go piszę: /
Rook
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.