Jak nazwać metodę "Czy użytkownik istnieje"

0

Nie wiem za bardzo gdzie umiescić ten temat - zasadniczo metody, które zwracają true / false zaczynają się od "Is" - wówczas tłumaczymy je "Czy coś jest...". A jaka jest konwencja na metody bez "jest" tzn. "Czy coś", np. "Czy uzytkownik istnieje" - czy można nazwac metodę "DoesUserExist" ??

0

Moja propozycja CheckIfUserExists

1

userExists . ja bym to tak nazwała. jest dużo metod, które zwracają boolean a nie zaczynają się od is

0

bool UserExists
bool DoesUserExist
bool IfUserExists

bool CzyUzytkownikIstnieje :-)

0

IsUserDead ;)

A poważnie to nie widze nic zlego w UserExists czy CheckIfUserExists. Od programowania 'po polskiemu' to bym raczej odszedl ;)

1

A w przypadku języka obiektowego, nie lepiej dać statyczna metodę klasy User? (User::exists())

Z powyższych głosuję za userExists, dodam jeszcze isRegisteredUser.

3
roSzi napisał(a):

A w przypadku języka obiektowego, nie lepiej dać statyczna metodę klasy User? (User::exists())

W przypadku języka obiektowego, taka metoda nie powinna być w ogóle w klasie User.

1

userExists jest najlepsza, bo najkrótsza, a wiadomo o co chodzi.

z przodu powinien być czasownik - "Begin method names with a strong action verb "

A kto tak powiedział? Metody mają być nazywane krótko, treściwie i zrozumiale. checkUserExists nie wnosi nic do treści ponad userExists. Jeżeli głównym zadaniem metody jest zwrócić "coś", a nie wykonać jakąś akcję, i w sumie nie obchodzi nas jak to "coś" jest uzyskiwane, wtedy nazwa rzeczownikowa dużo lepiej oddaje istotę rzeczy. Czyli mamy np. indexOf a nie findIndexOf, albo substring a nie extractSubstring w bibliotece standardowej.

0

Jeśli masz taką możliwość, to ja osobiście polecam ci takie rozwiązanie

User.exists?
0

@up A jak wstrzykniesz repo do statycznej metody?

0

@kamilwxx, jak przy użyciu kontenera IoC wstrzykniesz obiekt repozytorium (albo jakiejkolwiek innej klasy dającej dostęp do danych w bazie) do klasy User tak, aby można ją było wykorzystać w metodzie exists?
W końcu jesteśmy profesjonalistami, i nie piszemy ręcznie kodu SQL w metodach klasy User, prawda?

1 użytkowników online, w tym zalogowanych: 0, gości: 1