Тагир Валеев — Атомарный рефакторинг в IntelliJ IDEA: прогибаем IDE под себя
Ближайшая конференция: JPoint 2023, 12–13 апреля (Online), 18–19 апреля (Offline)
Подробности и билеты:
— —
. . . . Помимо изменения функциональности программы программирование включает в себя изменение её структуры с сохранением семантики, что обычно называют рефакторингом. Любой рефакторинг несёт в себе риски того, что семантика всё-таки будет изменена, если программист допустит ошибку в этом процессе. Не всегда дальнейшее тестирование способно вовремя выявить такую регрессию. Кроме того, боязнь подобной регрессии вынуждает программистов отказываться от рефакторинга там, где он был бы очевидно полезен.
Однако часто рефакторинг можно разбить на набор атомарных шагов-транзакций, после каждого из которых семантика сохраняется. Чем меньше эти шаги, чем короче «разломанное состояние программы», тем меньше вероятность ошибки. В ряде случаев удаётся довести процесс до идеала: каждая команда, которую вы отдаёте среде разработки, модифицирует код, сохраняя семантику. В таком сл
1 view
48
15
7 months ago 01:42:44 1
Лекция 6. Коллекции. (Программирование на Java, весна 2020)
7 months ago 00:21:20 1
MORGENSHTERN — Улыбнись, Дурак
7 months ago 03:01:36 13
Рахманинов. Симфония длиною в жизнь 28/05/24 - техническая трансляция
8 months ago 00:51:21 1
Аннигиляторная Пушка - Концерт В Доме Офицеров 1996
9 months ago 00:00:00 21
Творческий вечер Рината Абушахманова «Классика и современность»
1 year ago 01:34:25 1
Лекция 1. Java. Введение
1 year ago 01:14:31 1
Аннигиляторная Пушка - Партия Даунов | Расширенное Издание
1 year ago 01:43:56 1
Лекция 12. Java: аннотации, рефлекшн, байткод
1 year ago 01:13:06 1
Тагир Валеев — Заменят ли роботы программистов?
2 years ago 01:34:09 1
Лекция 8. Элементы функционального программирования. Stream API
2 years ago 00:58:43 1
Тагир Валеев — Java-инспекции в IntelliJ IDEA: что может пойти не так?
2 years ago 01:25:42 57
Лекция 1. Введение в Java
2 years ago 01:48:47 5
Лекция 3. Объекты, классы, интерфейсы, строки
2 years ago 01:46:58 11
Лекция 2. Базовый синтаксис Java
2 years ago 01:54:55 3
Лекция 7. Элементы функционального программирования на Java