Соглашение об именах для интерфейса для доступа к одному полю

Мои классы имеют несколько полей и методов доступа. НапримерgetId() а также setId(Long id)

а такжеgetTimestamp() а также setTimestamp(Instant time)

Я хочу абстрагировать эти методы в отдельных интерфейсах. Я ищу лучшую практику, чтобы назвать эти интерфейсы

Я предполагаю, что возможные предложения:

HasId или же WithId или же Timestamped (но это не работает с ID, так как вы не можете Ided)

Существует ли стандартное соглашение об именах для этих интерфейсов?

1 ответ

Я не думаю, что здесь есть лучшая практика, так как это зависит от варианта использования. Помните, что интерфейс - это "контракт", поэтому, называя их, думайте о них как о контрактах.

В вашем примере (id) я видел людей, использующих "IsIdentified", "Identified", "Identifiable", "WithIdentifier"... На самом деле ни один из них не является неправильным, но я предпочитаю использовать суффикс "-able".

Не воспринимайте это как "все интерфейсы должны иметь суффикс -able". Что бы ни делало ваш код более понятным, а назначение интерфейса само за себя:)

Другие вопросы по тегам