Достоинства есть. А недостатки?
На страницах типа https://refactoring.guru/ru/extract-method есть перечни достоинств. Но неужели у предлагаемых решений нет недостатков? Как правило, практически любое решение - компромисс. И у любого решения есть риски перегнуть палку, и надо б о них тоже писать, предостерегать, показывать границы. Иначе до маразма доходит!
В частности, то же извлечение методов.
Риски:
Во-первых, можно увлечься и нарезать в лапшу то, что без нарезки было бы вполне читаемым и понятным.
Во-вторых, методы могут оказаться взаимозависимы, и если при линейном изложении это будет очевидно, при нарезке - нет. Все особенности в именах методов не отразишь...
В третьих, ...
Там непосредственно рядом есть https://refactoring.guru/ru/inline-method, но было б полезно сослаться на него из извлечения методов более явно: сказать что не злоупотребляйте, имейте ввиду и пользу встречного движения, вот почитайте критерии там.
Я вижу, что упоминания недостатков тоже встречаются, например в https://refactoring.guru/ru/design-patterns/state. Но как-то маловато, ИМХО, и маловато подробностей о том, как их избегать.
UserEcho 的客户支持
Спасибо за хорошее замечание. Учту это в работе над второй редакцией курса.
Читая дальше, я и в рефакторингах увидел упоминания недостатков, но всё ж про них маловато. А с перегибами на местах бороться очень тяжело, когда в умных книгах лишь про плюсы.