Если нельзя, но очень хочется, то нужно обязательно и ничего в мире не стоит того, чтобы делать из этого проблему!


Интересна Java? Кликай по ссылке и изучай!
Если тебе полезно что-то из того, чем я делюсь в своем блоге - можешь поделиться своими деньгами со мной.
с пожеланием
столько времени читатели провели на блоге - 
сейчас онлайн - 

понедельник, 28 ноября 2011 г.

Refactoring: Еще немного про рефакторинг

Вот случайно нашел презенташку со своего техтолка "Чистый код". Планировалась серия таких презентаций. Это первая. Рассмотрел пару Фаулеровских запахов:
- дублирование
- код с комментариями
- большой метод
- завистливая функция



Продолжение следует...

2 комментария:

  1. Офигеть!!! Только сегодня при покрытии тестами большого модуля столкнулся с тем что мне мешал завистливый метод, так как он вызывал кучу сеттеров в том объекте, который мне нужен и создавал сложные зависимости! Буду мууувать! Спасибки

    ОтветитьУдалить
  2. Да, В рефакторинге все просто. Вначале устраняешь дублирование и укорачиваешь методы посредством Extract Method, после в классе появляется купа мелких методиков, большая часть из которых завидуют каким-то другим типам данных. Если тип данных примитивный - это пахнет "одержимостью элементарными типами" и пора за'introduce'ить новый класс. Если это уже существующий класс - решается через "перемещением метода", если класс расширять нельзя, то можно попробовать сделать наследника или воспользоваться агрегацией расширяемого класса.

    Но все начинается с Extract Method с целью устранить два самых злых запаха - дублирование и длинный метод.

    ОтветитьУдалить