Kiedy definiujesz funkcję / zmienną / etc i nie jesteś pewien, jak ją nazwać, jak ją nazwiesz? Jak wymyślić imię?
Jeśli użyjesz nazwy tymczasowej jako karty miejsca, dopóki nie nadasz jej prawdziwej nazwy, jakiej nazwy tymczasowej używasz?
aktualizacja
I zostały z wykorzystaniem takich rzeczy WILL_NAME_LATER
, NEEDS_NAME
albo TO_BE_NAMED
. Miałem nadzieję, że istnieje przyjęta konwencja, tak naprawdę miałem nadzieję, że jeśli użyję tej przyjętej konwencji, moje IDE podświetli nazwę, dopóki jej nie zmienię.
Odpowiedzi:
Niemożliwe jest wymyślenie nazwy artefaktu, który chcesz zaprojektować. Być może nie podoba ci się nazwa, którą wymyślisz, ponieważ nie jest zwięzła ani seksowna, ale jeśli będziesz się nad tym zastanawiał, skończysz z źle nazwanym artefaktem.
Załóżmy, że masz coś, co pomaga konstruować obiekty, ale nie wiesz, że zwykle nazywa się to fabryką. Po prostu nazwij to ObjectCreator. To brzmi tępo, ale przynajmniej jest jasne.
Załóżmy, że masz słownik konwertujący nazwy hostów na adresy IP. Po prostu śmiało i nazwij to HostnamesToIpAddresses. Jasne, że jest długi, ale mówi dokładnie, co robi.
Niemożność wymyślenia nazwy czegoś oznacza, że nie wiesz, co on robi, co oznacza również, że masz przed sobą większy problem.
źródło
"The inability to come up with a name for something means you don't know what it is doing"
. Myślę, że to naprawdę ważna kwestia. Uświadomienie sobie tego pomaga znaleźć dwuznaczności i niejasności w kodzie.Zawsze staram się nadawać moim zmiennym i funkcjom świetne nazwy .
Jeśli nie mogę wymyślić dobrego imienia, zadowolę się dobrym .
Jeśli nie mogę wymyślić dobrego imienia, użyję dobrego imienia .
Nigdy przez 15 lat profesjonalnego programowania nie byłem w stanie wymyślić przyzwoitego nazwiska.
źródło
Jeśli nie możesz wymyślić dobrego imienia dla zmiennej lub funkcji, albo nie rozumiesz, co robisz, albo masz kiepski projekt. Tak czy inaczej, uderzenie jakiejkolwiek arbitralnej nazwy, takiej jak „x” (chyba że masz do czynienia ze współrzędnymi), nie rozwiąże twojego dylematu; tylko pogorszy to sytuację, a ból będzie większy.
źródło
foo
ibar
którego używam w kodzie, są małe fragmenty kodu używane do przedstawienia koncepcji. Jasne, też się potykam, kiedy wymyślam nazwiska, ale nigdy nie znalazłem się w tak złej pozycji, w którejfoo
była to jedyna rozsądna opcja. Gdyby tak się stało, to tak naprawdę nie wiem, co do diabła robię, i muszę wrócić do tablicy kreślarskiej i pseudokodu, dopóki nie będę wiedział, co robić.To pytanie, a zwłaszcza odpowiedzi, przerażają mnie bezsensownie. Wiesz, ktoś będzie musiał zachować kod, w którym właśnie nadałeś zmiennej „Puchar”. Jeśli nie masz szczęścia, to ktoś będzie tobą!
Masz zmienną. To jest coś. W każdym razie reprezentuje coś. I rzeczy mają nazwy. W ten sposób wiesz, że to są rzeczy! Czy naprawdę mówisz mi, że musisz nazwać rzecz po innej rzeczy, ponieważ nie możesz wymyślić nazwy rzeczy samej?
Iteratory należy nazwać I. Zagnieżdżone iteratory są prawdopodobnie błędem, ale jeśli ich potrzebujesz, przejdź przez resztę samogłosek, w kolejności (a, e, o, u i bóg, pomóż mi, tak, czasami y).
Poza tym po prostu nazwij to, co to jest i gotowe!
źródło
Jeśli nie mogę od razu wymyślić doskonałej nazwy, używam tymczasowo „dobrej” nazwy, a następnie kontynuuję kodowanie. Przynajmniej będzie to coś, co odpowiednio opisuje przedmiot, nawet jeśli nie jest idealny . Prawie zawsze, zanim skończę pisać pierwszą wersję tego fragmentu kodu, przydarzyło mi się bardziej idealne imię. Dzięki procesowi kodowania moje zamiary dotyczące tej konkretnej zmiennej stają się wyraźniejsze. (Z drugiej strony czasami przychodzi mi do głowy, że zmienna, która była początkowo źle pomyślana, usuwam na korzyść czegoś innego.)
źródło
Nazywam to tym, co moim zdaniem powinna zrobić funkcja - coś, co mniej więcej oddaje intencję. Po napisaniu treści funkcji uznaję za oczywiste, jak ją nazwać i w razie potrzeby wrócić i zmienić jej nazwę.
źródło
bla i bar . Ponieważ na razie nie ma sensu nazywanie funkcji / zmiennych, używam kombinacji Foo i / lub Bar z tym, co próbuję zdefiniować.
Ułatwia to wyszukiwanie / znajdowanie później, gdy lepiej rozumiem, jak powinien się nazywać.
Zobacz także Foobar na wikipedii .
źródło
Poprzedź swoją funkcję czymś i nadaj jej teraz najlepszą nazwę. Na przykład funkcją, która zapisuje-wszystkie-produkty-dla-wybranego-użytkownika-do-bazy danych może być
RENAME_SaveAllProductsForTheSelectedUserToTheDatabase
()źródło
SaveAllProductsForTheSelectedUserToTheDatabase()
Jakkolwiek nazywam te trudne do nazwania zmiennymi, robię
//TODO find a better name
komentarz, aby móc później wrócić do zmiany jego nazwyZwykle, kiedy zaczynam używać zmiennej / funkcji / klasy, znajduję dla nich lepszą nazwę.
źródło
Najlepiej jest szybko podać dobre imię, mając na uwadze kod, niż czekać na później, kiedy będziesz żałować, że nie nazwałeś go dobrze!
źródło
Prawie nigdy nie mam problemu ze znalezieniem dobrych, opisowych nazw ... ale czasami nazewnictwo staje się dość zbędne, ponieważ nazwy klas i zmiennych są bardzo podobne. WebClient webclient = nowy Webclient (uri); ... i tym podobne.
źródło
Czasami używam zzzz tymczasowo.
Dobrą zasadą, która Ci pomoże, jest:
źródło
W przeszłości używałem boba , ale byłaby to jedyna niepoprawnie nazwana zmienna w funkcji / skrypcie, ponieważ w przeciwnym razie kod szybko stałby się nieczytelny.
(Bob jest kacem z dni uni - unikanie wywoływania zmiennych Bob i Fred)
Cieszę się używać I jako licznika.
Lepiej używać znaczących nazw, nawet jeśli nie są krótkie i zgryźliwe.
źródło
Jeśli absolutnie nie mam pojęcia, jak nazwać zmienną, co nie zdarzyło się od ponad dwudziestu lat ... imiona starych dziewczyn lub kobiet, które chciałbym, żeby były dziewczynami. Ostatni kod z tymi identyfikatorami został usunięty z produkcji kilka lat temu.
źródło
WorkMagic lub Abracadabra.
źródło
bla , ale tylko tymczasowo. Zawsze wracam i zmieniam nazwy na dobre nazwy zmiennych.
źródło
Doit (), a (), b (c) xxxx () ....
Oczywiście, że są refaktoryzowani ... zwykle
źródło
Zwykle używam rzeczy na biurku.
Skłaniam się również do nazw ogólnych (przynajmniej dla funkcji):
To jest jednak tymczasowe. I przysięgam, nic nie czyni go w repozytorium, znacznie mniej produkcji.
źródło
run
wygląda znacznie lepiej niżgo
. Może dlatego, że wszyscy chcielibyśmy, aby nasze programy były szybsze.