У меня есть класс с именем ActivityLog
. Этот класс содержит список ActivityRecords
. Я хочу вернуть список ActivityRecords
по следующим критериям: «Окружающая среда и состояние». Должно ли имя метода включать «критерии»? Смотрите пример:Лучший способ назвать методы, возвращающие список объектов
activityLog.allRecords();
activityLog.allRecordsBy(Environment environment);
activityLog.allRecordsBy(Condition condition);
activityLog.allRecordsBy(Condition condition, Environment environment);
или
activityLog.allRecordsByEnvironment(Environment environment);
activityLog.allRecordsByCondtion(Condition condition);
я, вероятно, думаю, что первое лучше, потому что вы будете читать имя метода, и вы поймете, от параметра, что он делает, но я могу ошибаться? Что лучше, или есть еще лучшие альтернативы?
я мог назвать методы records()
, recordsBy
и т.д., но я хочу иметь consitency через мой API, где вы всегда начать писать all
для списков объектов, так что вы получите помощь от, например, Intelli Sense.
Я бы пошел на второй подход. Вы бы избежали проблем с перегрузкой метода. Или 'allRecordsBy (Фильтр)'. – user802421
В чем проблема перегрузки? – LuckyLuke
Оба варианта хороши. Как указано выше, если вы добавите перекрывающиеся аргументы, то именованный подход будет лучше. –