В каждой кодовой базе есть ошибки и слабые места, которые нужно найти и исправить. Правильный рефакторинг сделает ваш код элегантным, удобным для чтения и простым в обслуживании. Познакомьтесь с уникальным подходом, позволяющим реализовать любой метод в пяти строках кода. И не забывайте про тайну, хорошо известную большинству senior-разработчиков: иногда проще ухудшить код и вернуться к его исправлению позже. «Пять строк кода» — это свежий взгляд на рефакторинг для разработчиков любого уровня. Вы узнаете, когда проводить рефакторинг, как использовать паттерны, а также научитесь определять признаки, которые говорят о том, что код необходимо удалить.
Рефакторинг, а именно ему посвящена книга, — это дисциплина, которая нацелена делать из плохого кода хороший без нарушения его функциональности. Если учесть, что существование современного цивилизованного мира уже немыслимо без программного обеспечения, то становится очевидной исключительная актуальность этой темы. Эта книга рассказывает не о стерильном и отвлеченном рефакторинге, о котором вы могли слышать или читать до этого. Она знакомит вас с реальным рефакторингом в реальных проектах, рефакторингом унаследованных нашим поколением устаревших, но широко распространенных legacy-систем, рефакторингом в таких средах, с которыми мы все сталкиваемся чуть ли не каждый день.
Книга состоит из двух частей, сильно различающихся по стилю. Часть I закладывает прочный фундамент для выполнения рефакторинга и адресована каждому отдельно взятому разработчику. Не стремясь охватить вообще все стороны рефакторинга, я решил сделать упор на простоту изложения. Эта часть предназначена для тех, кому еще предстоит сформировать устойчивую основу для проведения рефакторинга, например для студентов, для начинающих программистов, в том числе самоучек. Если же, взглянув на исходный код в книге, вы решите, что улучшить его несложно, тогда часть I не для вас.
В части II фокус смещается на контекст применения рефакторинга и адресуется команде разработчиков. Здесь я выбрал наиболее ценные, на мой взгляд, уроки разработки программного обеспечения (ПО) в реальном, а не учебном мире. Некоторые темы состоят в основном из теории, например «Сотрудничайте с компилятором» и «Соблюдайте структуру в коде». Другие же в первую очередь практические, например «Страсть к удалению кода» и «Пусть плохой код выглядит плохо». Таким образом, часть II уже более универсальна, и даже опытные разработчики найдут здесь чему поучиться.
Для разработчиков всех уровней. В примерах используется доступный и понятный синтаксис TypeScript, который позволяет перейти к любому языку высокого уровня.