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.