Авторизация
Поиск по указателям
Фаулер М., Бек К., Брант Д., Апдайк У., Робертс Д. — Рефакторинг. Улучшение существующего кода
Обсудите книгу на научном форуме
Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter
Название: Рефакторинг. Улучшение существующего кода
Авторы: Фаулер М., Бек К., Брант Д., Апдайк У., Робертс Д.
Аннотация: Подход к улучшению структурной целостности и производительности существующих программ, называемый рефакторингом, получил развитие благодаря усилиям экспертов в области ООП, написавших эту книгу. Каждый шаг рефакторинга прост. Это может быть перемещение поля из одного класса в другой, вынесение фрагмента кода из метода и превращение его в самостоятельный метод или даже перемещение кода по иерархии классов. Каждый отдельный шаг может показаться элементарным, но совокупный эффект таких малых изменений в состоянии радикально улучшить проект или даже предотвратить распад плохо спроектированной программы.
Мартин Фаулер с соавторами пролили свет на процесс рефакторинга, описав принципы и лучшие приемы его осуществления, а также указав, где и когда следует начинать углубленное изучение кода с целью его улучшения. Основу книги составляет подробный перечень более 70 методов рефакторинга, для каждого из которых описываются мотивация и техника испытанного на практике преобразования кода с примерами на Java. Рассмотренные в книге методы позволяют поэтапно модифицировать код, внося каждый раз небольшие изменения, благодаря чему снижается риск, связанный с развитием проекта. .
Язык:
Статус предметного указателя: Готов указатель с номерами страниц
ed2k: ed2k stats
Год издания: 2003
Количество страниц: 432
Добавлена в каталог: 18.05.2005
Операции: Положить на полку |
Скопировать ссылку для форума | Скопировать ID
Предметный указатель
Рефакторинг помогает найти ошибки 65
Рефакторинг при исправлении ошибок 67
Рефакторинг при разборе кода 67
Рефакторинг программ C++ 383—386
Рефакторинг, ввод новых функций и 63
Рефакторинг, декомпозиция и перераспределение метода statement 27—48
Рефакторинг, достижение выгод в короткие сроки 386
Рефакторинг, изменения дизайна, вызывающие трудности 75
Рефакторинг, изучение 409—412
Рефакторинг, изучение, возврат к прежней версии 411
Рефакторинг, изучение, наметить цели 410
Рефакторинг, изучение, остановка при неуверенности 411
Рефакторинг, изучение, работа дуэтом 411
Рефакторинг, инструментальные средства 401
Рефакторинг, истоки, оптимизация системы, зарплаты 83
Рефакторинг, исходная программа 22
Рефакторинг, как и где применять рефакторинг 381
Рефакторинг, как разговаривать о рефакторинге с руководителем 69
Рефакторинг, когда не нужен 75
Рефакторинг, когда следует проводить 66—69
Рефакторинг, когда следует проводить, правило трех ударов 66
Рефакторинг, когда следует проводить, при добавлении новой функции 67
Рефакторинг, комментарии к исходной программе 25
Рефакторинг, косвенность и 70
Рефакторинг, не меняет видимого поведения ПО 62
Рефакторинг, облегчает понимание ПО 64
Рефакторинг, определение 61
Рефакторинг, основания для применения 66
Рефакторинг, особенности языка, затрудняющие рефакторинг 384—386
Рефакторинг, первый пример 21—69
Рефакторинг, первый пример, заключительные размышления 59
Рефакторинг, первый шаг 26
Рефакторинг, повторное использование кода и реальность 377—399
Рефакторинг, повторное использование кода и реальность, нежелание разработчиков применять рефакторинг к своим программам 380
Рефакторинг, повторное использование кода и реальность, последствия повторного использования ПО и передачи технологий 395—397
Рефакторинг, повторное использование кода и реальность, проверка в реальных условиях 378 394
Рефакторинг, почему приносит результаты 68
Рефакторинг, приведение кода в порядок и 62
Рефакторинг, принципы 61— 33
Рефакторинг, проблемы проведения базы данных 73
Рефакторинг, проблемы проведения базы данных, изменения дизайна, вызывающие трудности 75
Рефакторинг, проблемы проведения базы данных, интерфейсы 75
Рефакторинг, проектирование и 76
Рефакторинг, производительность и 79
Рефакторинг, ресурсы и библиография 395
Рефакторинг, сокращение расходов на 389
Рефакторинг, стили программирования, затрудняющие рефакторинг 384
Рефакторинг, улучшает композицию ПО 63
Рефакторинг, форма глагола 62
Рефакторинг, форма существительного 61
Рефакторинг, формат 118
Рефакторинги крупные 357—376
Рефакторинги крупные, важность 358
Рефакторинги крупные, выделение иерархии 372
Рефакторинги крупные, отделение предметной области от представления 367
Рефакторинги крупные, правила игры 357
Рефакторинги крупные, преобразование процедурного проекта в объекты 366
Рефакторинги крупные, разделение наследования 360
Рефакторинги крупные, четыре 359
Родительский класс, выделение 336
Родительский класс, выделение, мотивировка 336
Родительский класс, выделение, пример 337
Родительский класс, выделение, техника 337
Самоинкапсуляция поля 181—184
Самоинкапсуляция поля, мотивировка 181
Самоинкапсуляция поля, применение 160
Самоинкапсуляция поля, пример 182
Самоинкапсуляция поля, техника 182
Самотестирующийся код 101
Связь двунаправленная 207
Связь однонаправленная 204
Символические константы вместо магических чисел 211
Синтаксический разбор, дерево 404
Система зарплаты, оптимизация 83
Слушатели событий, применение 204
Сокрытие делегирования 168
Сокрытие делегирования, мотивировка 168
Сокрытие делегирования, пример 169
Сокрытие делегирования, техника 169
Сообщений, цепочки 95'
Составление методов 123—152
Состояние/стратегия, вместо кода типа 231
Состояние/стратегия, вместо кода типа, мотивировка 232
Состояние/стратегия, вместо кода типа, пример 232
Состояние/стратегия, вместо кода типа, техника 232
Список параметров, длинный 89
Спуск метода 328
Спуск метода, мотивировка 328
Спуск метода, техника 329
Спуск поля 329
Спуск поля, мотивировка 330
Спуск поля, техника 330
Ссылки, замена значением 193
Ссылки, замена значением, мотивировка 192
Ссылки, замена значением, пример 193
Ссылки, замена значением, техника 192
Ссылки, замена значения ссылкой 187
Ссылки, замена значения ссылкой, мотивировка 188
Ссылки, замена значения ссылкой, пример 189
Ссылки, замена значения ссылкой, техника 188
Ссылки, поиск 119
Стрельба из дробовика 90
Сумма, перемещение расчета 32
Тело конструктора, подъем 326
Тело конструктора, подъем, мотивировка 326
Тело конструктора, подъем, пример 327
Тело конструктора, подъем, техника 326
Теоретическая общность 94
Тесты модулей и функциональные 109
Тесты неполные, написание и прогон 111
Тесты полностью автоматические 102
Тесты, граничные условия и 112
Тесты, добавление новых 110—115
Тесты, исключительные ситуации и 113
Тесты, комплекты 111
Тесты, ошибки и боязнь написания 114
Тесты, разработка 101—115
Тесты, разработка, добавление новых тестов 110
Тесты, разработка, самотестирующийся код 101
Тесты, разработка, среда тестирования JUnit 104
Тесты, частота запуска 107
Удаление временных переменных 42
Условия граничные 112
Условия, обращение 256
Условные выражения, упрощение 241—273
Условные выражения, упрощение, введение нулевого объекта 269
Условные выражения, упрощение, введение утверждения 273
Условные выражения, упрощение, декомпозиция 242
Условные выражения, упрощение, замена вложенных условных операторов граничными операторами 253
Условные выражения, упрощение, замена вложенных условных операторов граничными операторами, обращение условий 256
Условные выражения, упрощение, замена условного оператора полиморфизмом 258
Условные выражения, упрощение, консолидация 246
Условные выражения, упрощение, объединение 244
Условные выражения, упрощение, объединение дублирующихся условных фрагментов 248
Условные выражения, упрощение, объединение логическое И 245
Условные выражения, упрощение, объединение логическое ИЛИ 245
Условные выражения, упрощение, удаление управляющего флага 252
Условные выражения, упрощение, удаление управляющего флага, пример: break вместо управляющего флага 249
Условные выражения, упрощение, удаление управляющего флага, пример: return, возвращающий значение управляющего флага 251
Установки значения, метод, удаление 302
Установки значения, метод, удаление, мотивировка 302
Установки значения, метод, удаление, пример 303
Установки значения, метод, удаление, техника 302
Утверждение, введение 270
Утверждение, введение, мотивировка 270
Утверждение, введение, пример 271
Утверждение, введение, техника 271
Фабричный метод, вместо конструктора 306
Фабричный метод, вместо конструктора, мотивировка 306
Фабричный метод, вместо конструктора, пример 307
Фабричный метод, вместо конструктора, пример: создание подклассов с помощью строки 307
Фабричный метод, вместо конструктора, пример: создание подклассов явными методами 309
Фабричный метод, вместо конструктора, техника 307
Флаг управляющий, удаление 248
Флаг управляющий, удаление, пример: break вместо управляющего флага 249
Флаг управляющий, удаление, пример: return, возвращающий значение управляющего флага 251
Формирование шаблона метода 344
Формирование шаблона метода, мотивировка 345
Формирование шаблона метода, пример 346
Формирование шаблона метода, техника 345
Функции, перемещение между объектами 153 178
Функциональные тесты 109
Функция, рефакторинг при добавлении новой 67
Цепочки сообщений 95
Числа, магические 211
Шаблон метода, формирование 344
Шаблон метода, формирование, мотивировка 345
Шаблон метода, формирование, пример 346
Шаблон метода, формирование, техника 345
Экстремальное программирование 81
Элементарные типы, одержимость 92
Явные методы, вместо параметра 288
Явные методы, создание подклассов с помощью 309
Реклама