Zetknąłem się z problemem związanym z przypadkami narożnymi z ogólnymi wskazówkami:
- rzeczowniki dla zmiennych
- czasowniki dla funkcji
W szczególności mam przypadek, w którym słowo jest dwuznaczne - może to być czasownik lub rzeczownik. W niektórych przypadkach, gdy omawiamy aplikację, będzie ona używana w obie strony w tym samym zdaniu.
Moim celem jest upewnienie się, że program pozostanie czytelny zarówno dla przyszłych programistów, jak i dla mnie, gdy wrócę do części kodu później.
Jednym z przykładów jest battery
. A battery
ma charge
i możesz także charge()
baterię.
Myślę, że o obu Battery.Charge
i Battery.Charge(value)
będzie mylące dla przyszłych programistów.
Moje obecne rozwiązanie to po prostu wybrać inne słowo dla jednego lub obu tych przypadków (zmiennej i funkcji). Mój problem z tym podejściem polega na tym, Battery
że zmienna obiektu i funkcja charge
nie są zgodne z dyskusjami projektowymi z udziałem Battery
.
Moje pytanie brzmi, czy istnieje inny / lepszy sposób radzenia sobie z tym konfliktem w konwencji nazewnictwa?
Dodatkowe lektury na ten temat. Nikt tak naprawdę nie zajął się szczegółem mojego pytania.
enqueue
się słowem, ale jest czasownikiem w Javie. Jak o doCharge
? Nadal nie powiedzie się test symetrii, ponieważ twoje inne metody nie będą miały tego prefiksu