Re[7]: Жизнь внутри метода
От: Константин Л.  
Дата: 27.10.08 11:40
Оценка:
Здравствуйте, _FRED_, Вы писали:

_FR>Здравствуйте, Константин Л., Вы писали:


_FR>>>То есть можно жертвовать надёжностью, модульностью, локализацией ради "читабельности"? Это при том, что мнение "чем локальнее объявление, тем лучше" можно считать верным (или нет?), а "читабельность" — величина субъективная?


КЛ>>где ты увидел что я ими жертвую? private static. ни стейта, ни открытости.


_FR>Ну представь себе такой не очень маленький класс. Кому-то понадобилось дописать в него некий метод, в котором понадобился какой-то хелпер. Он смотрит: ага! кто-то добрый уже такой написал! и берёт его. Вот связанность и получилась. Когда же хелпер объявлен локально, "случайно", поошибке, "не правильно" заиспользовать его невозможно, нужно явно постараться.


Прости, но если это хелпер, который удовлетворяет его потребности, то это значит, что мы написали реюзабельный код, и его уже можно попробовать вынести наружу в common/utils. Чем лучше в данном случае подход "локальная функция на каждый чих"?

КЛ>>>>плюс от к захвату контекста все-же лучше прибегать с осторожностью.


_FR>>>Вынося метод "наружу" ты позваляешь кому-то (а как ты запрещаешь? ага, никак!) к нему обратиться, тем самым увеличивая связаность. К лишней связаности надо относиться с ещё большим подозрением чем "к захвату контекста". Кстати, из за чего требуется осторожность? И, между прочим, мы же говорим о методах, не захватывающих контекст.


КЛ>>связанность и там и там. только в одном случае по параметрам, в другом по локальным переменным. Наружу это куда? Я же написал — private.


_FR>Связанность с параметрами — нормальное дело. Это всё равно что утверждать, что класс связан со своими членами: конечно связан, только это "положительная связь", в том смысле, что не причиняет вреда и которую легко порвать.


Тогда еще раз повторюсь.

КЛ>плюс от к захвату контекста все-же лучше прибегать с осторожностью.

_FRВынося метод "наружу" ты позваляешь кому-то (а как ты запрещаешь? ага, никак!) к нему обратиться, тем самым увеличивая связаность. К лишней связаности надо относиться с ещё большим подозрением чем "к захвату контекста". Кстати, из за чего требуется осторожность? И, между прочим, мы же говорим о методах, не захватывающих контекст.

КЛ>>связанность и там и там. только в одном случае по параметрам, в другом по локальным переменным. Наружу это куда? Я же написал — private.


Кто тут из нас за связанность по параметрам?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.