Jak byście nazwali funkcję?

1

Szybko, krótko i na temat: mam funkcję, która generuje szablony poziomów menu. Przyjmuje jeden parametr - ilość poziomów, które menu będzie posiadało.

Jak byście ją nazwali - SetMenuLevelCount czy SetMenuLevelsCount?

2

generateMenuTemplates

0

@vpiotr: Dzięki za sugestię, ale trochę się nie zrozumieliśmy.

To, co napisałem o tworzeniu menu było lekkim uproszczeniem, nie chciałem wyjaśniać dokładnie o co chodzi, bo nie ma to teraz większego znaczenia. Chodziło mi raczej o to, czy dać "level" czy "levels" - która opcja Twoim zdaniem jest lepsza?

1

Jeśli to faktycznie setter (chociaż takich ponoć się nie zaleca) to wybrałbym krótszą nazwę. Brzmią podobnie dobrze, a jeśli tak to prostsze jest lepsze.

2

@cerrato: skoro dany obiekt może zawierać tylko menu, to czemu setMenuLevel zamiast setLevels? Ewentualnie setMenuDepth/setDepth.

0

@hauleth: w sumie słuszna uwaga, że skoro ten obiekt odpowiada za menu, to nie trzeba doprecyzowywać, czego to są poziomy.

Ale - abstrahując od tego konkretnego przykładu - czy Waszym zdaniem lepiej jest użyć liczby pojedynczej (np. tutaj level) czy mnogiej (levels). Tak mnie naszła po prostu refleksja/wątpliwość przy okazji zabawy z tym menu. Czy dać przykładowo UpdateStudentCount czy UpdateStudentsCount - która wersja jest lepsza? Student czy Students?

0

@cerrato zależy, jeśli chcesz zwiększyć liczbę studentów, to students_count, bo tak to brzmi poprawnie (IIRC). student_count to brzmi jakbyś ustawiał jakiś count dla jednego, konkretnego studenta.

0

@hauleth: czyli - przez analogię do Twojego ostatniego posta, lepszą opcją będzie SetMenuLevelsCount - prawda? (pomijając stwierdzony wcześniej fakt, że można to inaczej nazwać)

1

Jeśli miałbym wybrać między tymi dwoma, to dałbym SetMenuLevelCount, bez żadnego s na końcu.

Podobnie, jeśli chcemy napisać, że chodzi nam o licznik słów, to nie napiszemy wordsCount, tylko wordCount.

1

Gramatycznie powinna być liczba mnoga, bo są to poziomy, Gdybyś je ustawiał, np., głębokością menu, to byłoby MenuDepth.

1
lion137 napisał(a):

Gramatycznie powinna być liczba mnoga, bo są to poziomy, Gdybyś je ustawiał, np., głębokością menu, to byłoby MenuDepth.

No właśnie w tym wypadku liczba mnoga raczej nie ma znaczenia:

numberOfLevels -> tutaj tak

ale

levelCount

0
C.mind napisał(a):
lion137 napisał(a):

Gramatycznie powinna być liczba mnoga, bo są to poziomy, Gdybyś je ustawiał, np., głębokością menu, to byłoby MenuDepth.

No właśnie w tym wypadku liczba mnoga raczej nie ma znaczenia:

numberOfLevels -> tutaj tak

ale

levelCount

Przed snem liczysz barana czy barany?

0

Przed snem liczysz barana czy barany?

Jak mam kiepski dzień i zjawi się tylko jeden to z braku laku liczę tylko jego.
Natomiast nie ma to żadnego znaczenia dla angielskiej konstrukcji.

0

No ale właśnie o to mi chodzi - czy kierować się stricte angielską gramatyką/ortografią i trzymać się liczby mnogiej, czy nie traktować nazw zmiennych/funkcji jako elementów języka naturalnego. Bo jednak angielski komputerowy nie jest angielskim używanym na co dzień, ani nie jest tym samym językiem, którym się pisze książki. Osobiście raczej byłem za levelCount, ale po wpisie @hauleth kilka pięter wyżej - https://4programmers.net/Forum/1641514 zacząłem lekko wątpić.

4

Tutaj jest wyjaśniona zasada nazywania list i ilości: https://english.stackexchange.com/questions/229406/how-to-write-correctly-chains-of-nouns-with-plurals-like-messages-list-and-ap

Google Translate tłumaczy level count jako liczba poziomów, a levels count jako poziomy się liczą.
Ja bym zostawił nazwę z liczbą mnogą bardziej dla określenia ilości kolekcji poziomów.

1

Osobiście raczej byłem za levelCount, ale po wpisie @hauleth kilka pięter wyżej - https://4programmers.net/Forum/1641514 zacząłem lekko wątpić.

Gdyby napisać studentsCount, tak jak było w tym wpisie sugerowane, to taka nazwa wskazywałaby na to, że studenci jako grupa coś liczą. Jeśli chcesz mieć licznik studentów, to wtedy studentCount jest poprawne i nie wskazuje to na licznik dla jednego studenta. Licznikiem czegoś dla jakiegoś jednego studenta byłoby counterForSomeStudent.

2

Gwoli scislosci StudentsCount mozna tez rozumiec jako
"Students' count" czyli liczba studentow, ale nadal jestem za liczba pojedyncza. Nie wiem czy to nie kalka z polskiego (ta postac mnoga).

1

@cerrato: No to rzuć monetą i masz spokój. Wygląda na to, że tutaj logiczna argumentacja będzie traktowana na równi z tą z d**y.

3

Ja bym tam skrócił do setMenuLevels i przeniósł count jako parametr.

void setMenuLevels(int count) {
    // ...
}
5

To jest właśnie jedna z osobliwości języka angielskiego, poprawna wersja z punktu widzenia gramatycznego to ta bez s, używa się rzeczownika w liczbie pojedynczej chociaż ma znacznie mnogie.
i tak w wpf mamy:
RowDefinitions - które tłumaczymy na polski jako definicje wierszy.

mam tez skopiowana krótkie objaśnienie z jakiejś książki do gramatyki, tylko nie pamiętam której

When we use noun + noun, the first noun is like adjective. It is normally singular, but he meaning is often plural. For example

a bookshop - is a shop where you can buy books
an apple tree - is a tree that has apples
a three-hour journey - a journey that takes three hours
a ten-pound note
a four-week course - The course lasted four weeks.
a six-mile walk
14 year old girl
five star hotels 
1

Poprawna jest wersja 'bez s w środku'. Też mnie to na początku dziwiło :-)

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