Przetłumaczenie nazwy metody na angielski

Przetłumaczenie nazwy metody na angielski
N0
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Gdańsk
  • Postów: 647
0

Jak byście nazwali metodę, która pobiera identyfikatory użytkowników mogących zrobić X? Coś w stylu GetIdsOfUsersThatCanDoX byłoby ok? Mam problem z tym, kiedy użyć liczby pojedynczej a kiedy mnogiej. I w ogóle może można jakoś prościej nazwać tę metodę?

fasadin
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4883
0

Niech serwis będzie miało w nazwie X a metoda niech nazywa się GetUsers

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10230
1

To pewnie zależy w jakiej klasie jest taka metoda.

N0
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Gdańsk
  • Postów: 647
0

Może w sumie za bardzo patrzę na nazwy metod pod kątem typów zwrotnych, ale metoda IEnumerable<int> GetUsers() zwracająca idki jakoś mi dziwnie wygląda :/

Silv
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
0

A czy jest możliwe zastosowanie jakiejś konwencji? Czy w danej klasie, w danym module, w danym projekcie, w danym języku programowania/technologii są jakieś konwencje, co do których podejrzewałbyś, że mają zastosowanie do nazwy tej metody?

elwis
  • Rejestracja: dni
  • Ostatnio: dni
2

Wydaje mi się, że taka metoda narusza zasadę mówiącą, że funkcja powinna robić jedną konkretną rzecz. Tutaj mamy do czynienia z trzema czynnościami — wybraniem użytkowników według wzorca, implementacji konkretnego wzorca i pobrania ID użytkownika. Jak dla mnie, należy zacząć od metody selectUsers, która pobiera funkcję testującą w parametrze; funkcja ta zwraca listę obiektów użytkownika, z których można pobrać ID. W pseudokodzie to będzie tak:

Kopiuj
base.selectUsers(user -> user.canDo(x)).map(user -> user.getId());
N0
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Gdańsk
  • Postów: 647
0

Hmm, ale ze względów wydajnościowych chyba trzeba czasami tę zasadę SRP złamać. selectUsers(user -> user.canDo(x)) wygląda, jakbyśmy pobierali z bazy danych wszystkie encje i potem na każdej encji wywoływali metodę filtrującą. No chyba, że jakieś języki mają biblioteki umożliwiające translację czegoś takiego na SQL.

I wiem, że pobieranie samych idków zamiast pełnych encji często nie ma sensu, ale pytam o kwestie językowe :P

jarekr000000
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: U krasnoludów - pod górą
  • Postów: 4714
4

IEnumerable<UserId> findCertificateSigners(...)

findDocumentAuthors(...)
itp.
To, że to user, czy userid to możesz mieć w typie. Wiec nie trzeba powtarzać i podkreślać.

S9
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 3573
1

No własnie, wystarczy że zwrócisz np. Traversable<UserId> i będzie wiadomo że to id usera a nie User ;)

elwis
  • Rejestracja: dni
  • Ostatnio: dni
0

@nobody01: To już zależy od języka i stopnia optymalizacji, który chcesz zastosować. W Common Lispie masz makra, dzięki czemu możesz przetłumaczyć daną składnię na SQL w czasie kompilacji. W Javie, trzeba by chyba konstruować takie zapytania w czasie działania programu. Tylko kto używa Javy jeśli tak zależy mu na wydajności? Kto w ogóle potrzebuje takich optymalizacji w dzisiejszych czasach?

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
1

@nobody01:

nobody01 napisał(a):

Jak byście nazwali metodę, która pobiera identyfikatory użytkowników mogących zrobić X? Coś w stylu GetIdsOfUsersThatCanDoX byłoby ok?

GetUsersWithXPriviledge albo GetUsersWithXAccess

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.