Ostrzeżenie: to jest niezbyt poważne pytanie / dyskusja, którą piszę ... ale jestem gotów się założyć, że większość programistów rozważała ten „problem” ...
Zawsze chciałem uzyskać inne opinie dotyczące konwencji nazewnictwa dla metod, które skądś pobierały dane i zwracały je ...
Większość nazw metod jest dość prosta i oczywista ... SaveEmployee (), DeleteOrder (), UploadDocument (). Oczywiście w przypadku klas najprawdopodobniej użyłbyś krótkiego formularza ... odpowiednio Save (), Delete (), Upload ().
Jednak zawsze zmagałem się z początkowymi działaniami ... jak zdobyć dane. Wygląda na to, że przy każdym projekcie przeskakuję między różnymi konwencjami nazewnictwa, ponieważ nigdy nie jestem do końca zadowolony z ostatniego, z którego korzystałem. O ile wiem, są to możliwości ->
- GetBooks ()
- FetchBooks ()
- Pobierz książki ()
- FindBooks ()
- LoadBooks ()
Co myślisz
źródło
fetch
sytuacji, gdy czas dostępu do danych jest krótki , tj. na tym samym urządzeniu, z lokalnej bazy danych, z pamięci.load
lubdownload
jeśli czas dostępu jest dłuższy , z Internetu, zewnętrznej bazy danych, z plikuSzczerze mówiąc, powinieneś po prostu zdecydować ze swoim zespołem, której konwencji nazewnictwa użyć. Ale dla zabawy zobaczmy, jaki tok myślenia byłby przy podejmowaniu decyzji o którymkolwiek z poniższych:
Ta metoda należy do źródła danych i nie obchodzi nas, w jaki sposób je uzyskuje, po prostu chcemy je pobrać ze źródła danych.
Traktujesz swoje źródło danych jak ogara, a jego zadaniem jest pobieranie Twoich książek. Myślę, że powinieneś sam zdecydować, ile osób może zmieścić się w ustach naraz.
Twoim źródłem danych jest bibliotekarz i będzie używać systemu dziesiętnego Deweya do wyszukiwania Twoich książek.
Te książki należą do jakiejś „elektronicznej torby na książki” i muszą być do niej załadowane. Pamiętaj, aby wywołać ZipClosed () po załadowaniu, aby zapobiec ich utracie.
Nie mam nic.
źródło
add
zarówno do zapisu w bazie danych, jak i do sklepu. Teraz próbuję je oddzielić i to jest ból.Odpowiedź brzmi: trzymaj się tego, z czym czujesz się komfortowo i bądź konsekwentny.
Jeśli masz witrynę barnes and nobles i korzystasz z GetBooks (), to jeśli masz inny element, taki jak obiekt Movie, użyj GetMovies (). Więc cokolwiek Ty i Twój zespół lubicie i bądźcie konsekwentni.
źródło
W OO (C ++ / Java) zwykle używam getSomething i setSomething, ponieważ bardzo często, jeśli nie zawsze, albo otrzymuję atrybut prywatny z klasy reprezentującej ten obiekt danych, albo ustawiam go - parę pobierającą / ustawiającą. Dodatkowo Eclipse generuje je dla Ciebie.
Zwykle używam polecenia Load tylko wtedy, gdy mam na myśli pliki - jak w przypadku „ładowania do pamięci”, co zwykle oznacza ładowanie do elementów pierwotnych, struktur (C) lub obiektów. Używam wysyłania / odbierania w Internecie.
Jak wspomniano powyżej, spójność jest wszystkim i obejmuje to między programistami.
źródło
Nie jest jasne, co masz na myśli mówiąc o „pobieraniu danych”. Z bazy danych? Plik? Pamięć?
Mój pogląd na temat nazewnictwa metod jest taki, że jego rolą jest wyeliminowanie wszelkich niejasności i idealnie potrzeba przeszukiwania dokumentacji. Uważam, że powinno się to robić nawet kosztem dłuższych nazw metod. Według badań większość programistów + średnio zaawansowanych jest w stanie przeczytać wiele słów w przypadku wielbłąda. Dzięki IDE i autouzupełnianiu pisanie długich nazw metod również nie stanowi problemu.
Tak więc, kiedy widzę „fetchBooks”, chyba że kontekst jest bardzo jasny (np. Klasa o nazwie BookFetcherFromDatabase), jest niejednoznaczny. Zabierz to skąd? Jaka jest różnica między Zarażenie i Zakażenie? Ryzykujesz również problem polegający na tym, że niektórzy programiści będą kojarzyć semantykę z określonymi słowami kluczowymi. Na przykład pobieranie do bazy danych (lub pamięci) a ładowanie (z pliku) lub pobieranie (z sieci).
Wolałbym raczej zobaczyć coś takiego jak „fetchBooksFromDatabase”, „loadBookFromFile”, „findBooksInCollection” itd. Jest to mniej widoczne, ale gdy przekroczysz długość, jest jasne. Każdy, kto to przeczyta, od razu zrozumie, co próbujesz zrobić.
źródło