2009-08-12 11 views
7

Ok, więc jest łatwy do nazwy interfejsu (lub klasy dla tej sprawy), czy można łatwo wymyślić rzeczownik: User, okno, Database, strumień, itpInterfejs nazewnictwa dla przymiotników

Co przymiotnika lub koncepcja przymiotnika? na przykład coś, co ma znacznik czasu (HasTimestamp, znacznik czasu, znacznik czasu ...?) lub coś, co jest śledzone lub oglądane (śledzone, monitorowane, możliwe do obejrzenia, IsWatched ...?)

Odpowiedz

7

Mam tendencję do używania przyrostka -able. Istnieje wiele dobrych przykładów tej konwencji nazewnictwa również w bibliotece Java, takie jak:

Na przykład coś, co ma tagów byłyby nazwane Taggable mocy niniejszej konwencji nazewnictwa, coś, co ma znacznik czasu jest Loggablesince:

znaczniki czasu są zwykle używane do rejestrowania zdarzeń, w takim przypadku każde zdarzenie w dzienniku jest oznaczone znacznikiem czasu. W systemach plików znacznik czasu może oznaczać przechowywaną datę/czas utworzenia lub modyfikacji pliku.

+0

Chociaż generalnie również podążam za tym wzorcem, "zdolny" nie zawsze pasuje do bardziej skomplikowanych - na przykład IDeterminesEmptyValue. Może to być wartość ICanDetermineEmptyValue. IEmptyValueDeterminable nie ma tyle sensu. –

+0

Podoba mi się twoje ogólne rozumowanie, ale "Loggable" jest zbyt odległym słowem z timestamp dla mojego gustu. –

+0

@Jason: Muszę przyznać, że Loggable jest trochę * zmuszony * jako nazwa :-) – dfa

0

To jest dobre pytanie. Próbuję nazwać wszystkie moje interfejsy i klasy używając rzeczowników. Więc prawdopodobnie skończyłbym na nazwach takich jak ITrackingTarget, IObservee. Znacznik czasu jest interesujący. Być może sam ITimestamp?

Używając wzorca użytkownika, jak nazwałbyś interfejs oznaczający obiekt, który akceptuje IVisitor?

+0

VisitableObject? VisitorUser? – neuro

0

Używam również rzeczowników.

Dla obiektu, który może być otwarty/zamknięty, zawsze można użyć opisowy OpenableObject lub OpenableInterface: skończyć z rzeczownika nawet jeśli składa się.

Jak to jest opisowy (i nieco głupie) I zazwyczaj wykorzystuje Otwierany zamiast OpenableObject. Używam OpenableInterface, jeśli chcę podkreślić fakt, że jest to interfejs.

Dla obiektów, które używają wzorca zależności inwersji czasami użyć „użytkownika” sufiks: ImageUser, LoggerUser, ServiceXUser ...

Lepiej jest używać rzeczowników, ale wolę na klarowność ścisłego związania reguła.

Powiązane problemy