Re: Пятничное "а вот как бы наряднее?"
От: fmiracle  
Дата: 27.09.19 08:09
Оценка: 9 (1) +6
Здравствуйте, Нахлобуч, Вы писали:

Н>Пятница, можно и подискутировать.

Н>Кто какой способ предпочитает и почему?

По мне лучше всего — почти как последний, но вынести в отдельный класс UrlHelper или, с тем чтобы при необходимости можно было использовать и в других местах, кроме статей (файлы может, или генераторы ссылок, или какие-то тесты которым надо достучаться до статьи и подобное).

В остальном, я бы сказал, что если метод занимается конвертацией, то у него должна быть сигнатура
X ConvertToX( Y y );

Статическая либо не статическая в зависимости от того, нужен ли доступ к полям класса. Предпочтительнее статический (сразу видно что нет неочевидных зависимостей), но без фанатизма. Второй момент выбора статика или нет — есть ли желание покрыть юнит-тестами с изоляцией этого метода. Тогда не статический и виртуальный чтобы можно было подменить заглушкой.

А если он просто именно инициализирует поля, исходя из каких-то данных, то это void InitValues( с параметрами или без ). При этом, мне не очень-то нравится, если часть полей проставляется в одном методе (тут — в конструкторе), а другая — в другом (тут — ConvertTitleToSlug() ) и при этом жить они могут только вместе. Лучше уж или там или там.
Отредактировано 27.09.2019 8:10 fmiracle . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.