W tej chwili byłem w trakcie kodowania, niestety dla mnie, byłem w „Strefie”, a potem pomyślałem, czy moje nazwy metod / zmiennych są zbyt długie?
Wyskocz ze strefy Idę!
Więc przyszedłem tutaj, aby zapytać, czy moje nazwy metod / zmiennych są zbyt długie? Ty bądź Sędzią! Bonus wskazuje każdemu, kto może dowiedzieć się, co piszę, chociaż jestem pewien, że guru szybko to zrozumie!
Tak czy inaczej, oto niektóre z moich nazw metod i zmiennych.
Metody: searchBlockedListForBlockedSquares (), isCurrentSquareNextToAtLeastOneBlockedSquare (), searchBlockedListForBlockedSquares ()
Zmienne: isNextToBlockedSquares;
Wydaje mi się, że była tylko jedna zmienna, która wydawała się zbyt długa.
Odpowiedzi:
Twoje imiona wydają mi się odpowiednie pod względem długości. Jednak ich nazwa sugeruje, że może niektóre nowe klasy są w porządku?
Na przykład zamiast
searchBlockedListForBlockedSquares()
ciebie mógłbyś miećblockedList.getBlockedSquares()
. PodobnieisCurrentSquareNextToAtLeastOneBlockedSquare()
staje sięcurrentSquare.isAdjacentToABlockedSquare()
.źródło
Wierzę w opisowe nazwy zmiennych, nawet jeśli oznacza to długie nazwy zmiennych. A ponieważ inteligencja staje się coraz bardziej popularna, nie sądzę, aby miała ona duży wpływ na wydajność.
Nienawidzę skrótów, ponieważ są prawie niemożliwe do konsekwentnego używania. Ponadto mogą być niejednoznaczne i utrudniają czytanie. Nawet jeśli są częścią standardu, nie lubię ich. Ponadto, jeśli chodzi o to, nie usuwają tylu liter, chyba że dużo skracasz. A w skrócie dużo zabija czytelność.
Największym problemem, jaki wprowadzają długie nazwy, jest długość linii kodu. Wywołanie funkcji o długiej nazwie i przekazanie jej dwóch lub trzech długich nazw zmiennych może być jednym długim wierszem kodu. Z tego powodu staram się, aby moje imiona były jak najkrótsze, ale wolę mieć opisowe nazwy, nawet jeśli oznacza to zawijanie linii lub przewijanie.
Patrząc na twoje przykładowe nazwy, fakt, że wszystkie kończą się BlockedSquares, sprawia, że myślę, że część nazwy może być zbędna. W rzeczywistości może to również oznaczać, że te elementy mogą być enkapsulowane we własnej klasie, prawdopodobnie o nazwie BlockedSquares. Ta zmiana sprawia, że nazwy są nieco krótsze.
źródło
Nazwa zmiennej ma niepoprawną długość, jeśli nie opisuje jasno swojego celu. Dotyczy to bycia za krótkim lub za długim.
Krótkie i zwięzłe nazwy zmiennych mogą być niejednoznaczne lub, co gorsza, nie mają związku z tym, czym jest zmienna. W dniach interpretacji języka BASIC tłumacz był ograniczony do dwóch nazw znaków. Bardzo trudno było wymyślić znaczące nazwy w dużym programie. Jednoliterowe nazwy zmiennych są często używane w pętlach for i licznikach, ale myślę, że inaczej należy ich unikać.
for (i = 0; i < 10; i++) {...}
używai
i to dość powszechne.j
to nazwa zmiennej wtórnej.Długie nazwy zmiennych są zbyt długie, gdy stają się długie lub pełne pustych słów, przez co stają się dłuższe niż to konieczne. Jeśli mam kilka podobnie nazwanych zmiennych, postaram się usunąć wspólne części, które są zbędne i zachować unikatowe części nazwy.
Nazwałbym „
isCurrentSquareNextToAtLeastOneBlockedSquare
” docurrentSquareNextToBlockedSquare?
, gdybym to robił w Ruby.źródło