Jeden z naszych starszych programistów stwierdził, że powinniśmy stosować konwencję nazewnictwa dla procedur przechowywanych ze stylem nazewnictwa „objectVerb”, takim jak („MemberGetById”) zamiast typu nazewnictwa „verbObject” („GetMemberByID”). Powodem tego standardu jest to, że wszystkie powiązane procedury składowane byłyby pogrupowane według obiektu, a nie według akcji.
Chociaż widzę logikę tego sposobu nazywania rzeczy, po raz pierwszy widziałem procedury składowane o tej nazwie. Moim zdaniem konwencja nazewnictwa jest taka, że nazwy nie można odczytać w sposób naturalny i zajmuje trochę czasu, aby ustalić, co mówią słowa i co może zrobić procedura.
Co sądzisz o tym? Który sposób jest najczęstszym sposobem nazewnictwa przechowywanego proc i czy jakiego rodzaju konwencji zapisanych nazewnictwa proc używasz lub przechodzisz?
Odpowiedzi:
Spójrz na to w ten sposób. Jak twoje metody są uporządkowane w kodzie? Ze względu na obiekt, z zawieszonymi metodami.
Dzięki przechowywanemu procesowi naśladującemu nazywanie, o wiele łatwiej będzie zobaczyć, jak odnoszą się one do kodu źródłowego.
źródło
Ja też widzę logikę; grupuje działania według podmiotów. Jeśli jednak twoje działania są zawsze GET, PUT i DELETE, zmiana nazewnictwa może nie mieć większego znaczenia. Widzę najlepszą korzyść z nowego standardu nazewnictwa występującego, gdy masz unikalne nazwy akcji, np. „AccountTransferMoney”.
Najważniejsze jest to, że istnieje jeden standard i że wszyscy go przestrzegają.
źródło
sp
”), posiadanie standardu jest jedyną rzeczą, która ma znaczenie.Musisz zdecydować, kto jest większym emitentem, znaleźć procedury, których szukasz, lub szybko rozszyfrować ich znaczenie?
Jeśli zobaczysz:
memberGetID memberGetName memberGetThis memberListSomething memberDelete
W pewnym momencie, gdy już znajdziesz „członka”, po prostu zignoruj to i idź stamtąd.
Zajrzyj do książki telefonicznej. Jeśli chcesz znaleźć Johna Smitha, to Smith, Dave Smith, John Smith, Robert
naprawdę to trudne? Nie nazywam ludzi po nazwisku, a potem po imieniu, chyba że to James Bond.
źródło
Zamiast „objectVerb” można użyć „namespace_verbObject”, na przykład
Member_GetById
.Będzie grupować procedury według przestrzeni nazw i nadal używać tradycyjnego nazewnictwa „czasownikSomething”.
źródło