Купить книгу Книга Рефакторинг: улучшение существующего кода. Фаулер BOOMBOOKS книга почтой в интернет магазин книг  
 
 
 
  Купить книгу Книга Рефакторинг: улучшение существующего кода. Фаулер BOOMBOOKS книга почтой в интернет магазин книг
ICQ 638231463
sale@boombooks.com.ua
SiteHeart
 
 
Ваша корзина:
товаров: 0 шт.
на сумму: 0 грн.
 
 
 
Главная Новинки книг Акции Оплата Доставка книг RSS Контакты
 
 
 

  • Книга 2 в 1: Создание компакт-дисков всех форматов. Roxio Easy Media Greator 9. Авер
    Книга 2 в 1: Создание компакт-дисков всех форматов. Roxio Easy Media Greator 9. Авер
  • Книга Визуальное моделирование с помощью IBM Rational Software Architect и UML. Кватрани
    Книга Визуальное моделирование с помощью IBM Rational Software Architect и UML. Кватрани
  • Книга Эффективное принятие решений. Классика HBR
    Книга Эффективное принятие решений. Классика HBR
  • Книга Конфликтология: Учебник для вузов. 3-е изд. Анцупов
    Книга Конфликтология: Учебник для вузов. 3-е изд. Анцупов
  • Книга Формула успеха в бизнесе: на первом месте - люди. Джеффри Пфеффер
    Книга Формула успеха в бизнесе: на первом месте - люди. Джеффри Пфеффер
  • Книга Справочник программиста по C/C++. 3-е издание. Шилдт. Вильямс
    Книга Справочник программиста по C/C++. 3-е издание. Шилдт. Вильямс
  • Книга Настройка AutoCAD. Шам Тику
    Книга Настройка AutoCAD. Шам Тику
  • Книга Как завоевывать друзей и оказывать влияние на людей. Изд.2. Карнеги
    Книга Как завоевывать друзей и оказывать влияние на людей. Изд.2. Карнеги
  • Книга Анализ финансовых рынков и торговля финансовыми активами. 3-е изд.
    Книга Анализ финансовых рынков и торговля финансовыми активами. 3-е изд.
  • Книга LabVIEW FPGA. Реконфигурируемые измерительные и управляющие системы. Баран
    Книга LabVIEW FPGA. Реконфигурируемые измерительные и управляющие системы. Баран
  • Книга Как работать по четыре часа в неделю. И при этом не торчать в офисе \"от звонка до звонка\", жить где угодно и богатеть. Феррис
    Книга Как работать по четыре часа в неделю. И при этом не торчать в офисе \"от звонка до звонка\", жить где угодно и богатеть. Феррис
  • Книга PHP в примерах (включая версию 6). Хольнер
    Книга PHP в примерах (включая версию 6). Хольнер
  • Книга Завоевать и удержать. Качественный рост компании на высококонкурентном рынке. Дорощук
    Книга Завоевать и удержать. Качественный рост компании на высококонкурентном рынке. Дорощук
  • Книга Objective-C 2.0 и программирование для Mac. Далримпл
    Книга Objective-C 2.0 и программирование для Mac. Далримпл
  • Самоучитель Mac OS X Leopard для чайников. Боб Ле-Витус
    Самоучитель Mac OS X Leopard для чайников. Боб Ле-Витус
  • Книга Дизайн интерьеров для чайников, 2-е изд. Патриция Харт Мак-Миллан
    Книга Дизайн интерьеров для чайников, 2-е изд. Патриция Харт Мак-Миллан
  • Книга Маркетинг на 100%. Как стать хорошим менеджером. 2-е изд. Манн. Питер
    Книга Маркетинг на 100%. Как стать хорошим менеджером. 2-е изд. Манн. Питер
  • Разработка приложений под iPhone. Полное руководство. Хоккенбери Крейг
    Разработка приложений под iPhone. Полное руководство. Хоккенбери Крейг
  • Книга Microsoft ASP.NET. Обеспечение безопасности. Мастер-класс. Байер
    Книга Microsoft ASP.NET. Обеспечение безопасности. Мастер-класс. Байер
  • Книга CSS 3 в примерах. Профессиональная работа. Соколов
    Книга CSS 3 в примерах. Профессиональная работа. Соколов

 
     
Книги и учебники по рубрикам
 Купить книги компьютерные
   Книги CAD-ы
   Книги 3d MAX
   Книги ACCESS
   Книги Adobe
   Книги Assembler
   Книги Basic
   Книги C, C++,С#
   Книги Delphi
   Книги EXCEL
   Книги HTML,XML, Dynamic,CSS
   Книги Java
   Книги JavaScript
   Книги Linux
   Книги Maple
   Книги Maya
   Книги OFFICE
   Книги Oracle
   Книги Pascal
   Книги Perl
   Книги PHP
   Книги SQL
   Книги UML
   Книги Unix
   Книги VBA
   Книги Visual Studio
   Книги WEB дизайн
   Книги Windows 2000
   Книги Windows Server
   Книги Windows Vista
   Книги Windows XP
   Книги WORD
   Книги Алгоритмы
   Книги 1C Учет
   Книги Издательские системы
   Купить книги по информатике
   Книги по компьютерной безопасности
   Купить книги по компьютерному железу
   Книги компьютерные сети
   Книги мультимедиа
   Книги Нейронные сети
   Книги ООП
   Книги Примочки программирования
   Книги по программированию для WEB
   Книги Прочая графика
   Книги прочая разработка
   Книги прочие CAD
   Книги прочие базы данных
   Книги прочие ОС
   Книги прочие офисное ПО
   Купить книги самоучители
   Книги Цифровое фото
   Заказ книг электронная коммерция
   Книги Corel
   Книги MAC
   Книги Windows 7
   Книги Прочее для интернет
   Книги Windows 8
   Книги SEO оптимизация и продвижение
   Книги Языки программирования
 Заказ книг по психологии
   Купить книги по психоанализу
   Заказ книг по психологии
   Купить книги по психологии бизнеса
   Книги психология женский клуб
   Заказ книг психология НЛП
   Купить книги психология общая
   Книги психология популярная
   Заказ книг психология прикладная
   Книги психология прочее
   Книги психология психотерапия
   Заказ книг психология социальная
   Книги психология тест
   Книги психология тренинг
 Купить книги по бизнесу и маркетингу
   Книги банки,деньги,кредит
   Купить книги по бизнесу
   Заказ книг по бухучету
   Книги инвестиционный бизнес
   Книги коммерция и продажи
   Купить книги по маркетингу и рекламе
   Заказ книг по менеджменту
   Купить книги по праву
   Заказ книг по предпринимательству
   Купить книги по финансам
   Заказ книг по экономике
   Купить книги по экономической теории
 Купить учебники
 Книги Гуманитарные науки
 Книги для детей и родителей



 
  Купить книги компьютерные - Книги ООП
Купить книгу  Книга Рефакторинг: улучшение существующего кода. Фаулер
 
 
ISBN 0
Книга Рефакторинг: улучшение существующего кода. Фаулер

314 грн.

SiteHeart
 Купить Книга Рефакторинг: улучшение существующего кода. Фаулер     Купить Книга Рефакторинг: улучшение существующего кода. Фаулер

Количество страниц:432

Подход к улучшению структурной целостности и производительности существующих программ, называемый рефакторингом, получил развитие благодаря усилиям экспертов в области ООП, написавших эту книгу. Каждый шаг рефакторинга прост. Это может быть перемещение поля из одного класса в другой, вынесение фрагмента кода из метода и превращение его в самостоятельный метод или даже перемещение кода по иерархии классов. Каждый отдельный шаг может показаться элементарным, но совокупный эффект таких малых изменений в состоянии радикально улучшить проект или даже предотвратить распад плохо спроектированной программы.

Мартин Фаулер с соавторами пролили свет на процесс рефакторинга, описав принципы и лучшие приемы его осуществления, а также указав, где и когда следует начинать углубленное изучение кода с целью его улучшения. Основу книги составляет подробный перечень более 70 методов рефакторинга, для каждого из которых описываются мотивация и техника испытанного на практике преобразования кода с примерами на Java. Рассмотренные в книге методы позволяют поэтапно модифицировать код, внося каждый раз небольшие изменения, благодаря чему снижается риск, связанный с развитием проекта.

Содержание

Предисловие

1. Рефакторинг, первый пример
Исходная программа
Первый шаг рефакторинга
Декомпозиция и перераспределение метода statement
Замена условной логики на полиморфизм
Заключительные размышления

2. Принципы рефакторинга
Определение рефакторинга
Зачем нужно проводить рефакторинг?
Когда следует проводить рефакторинг?
Как объяснить это своему руководителю?
Проблемы, возникающие при проведении рефакторинга
Рефакторинг и проектирование
Рефакторинг и производительность
Каковы истоки рефакторинга?

3. Код с душком
Дублирование кода
Длинный метод
Большой класс
Длинный список параметров
Расходящиеся модификации
"Стрельба дробью"
Завистливые функции
Группы данных
Одержимость элементарными типами
Операторы типа switch
Параллельные иерархии наследования
Ленивый класс
Теоретическая общность
Временное поле
Цепочки сообщений
Посредник
Неуместная близость
Альтернативные классы с разными интерфейсами
Неполнота библиотечного класса
Классы данных
Отказ от наследства
Комментарии

4. Разработка тестов
Ценность самотестирующегося кода
Среда тестирования JUnit
Добавление новых тестов

5. На пути к каталогу методов рефакторинга
Формат методов рефакторинга
Поиск ссылок
Насколько зрелыми являются предлагаемые методы
рефакторинга?

6. Составление методов
Выделение метода (Extract Method)
Встраивание метода (Inline Method)
Встраивание временной переменной (Inline Temp)
Замена временной переменной вызовом метода
(Replace Temp with Query)
Введение поясняющей переменной (Introduce Explaining
Variable)
Расщепление временной переменной (Split Temporary Variable)
Удаление присваиваний параметрам (Remove Assignments
to Parameters)
Замена метода объектом методов (Replace Method with Method Object)
Замещение алгоритма (Substitute Algorithm)

7. Перемещение функций между объектами
Перемещение метода (Move Method)
Перемещение поля (Move Field)
Выделение класса (Extract Class)
Встраивание класса (Inline Class)
Сокрытие делегирования (Hide Delegate)
Удаление посредника (Remove Middle Man)
Введение внешнего метода (Introduce Foreign Method)
Введение локального расширения (Introduce Local Extension)

8. Организация данных
Самоинкапсуляция поля (Self Encapsulate Field)
Замена значения данных объектом (Replace Data Value
with Object)
Замена значения ссылкой (Change Value to Reference)
Замена ссылки значением (Change Reference to Value)
Замена массива объектом (Replace Array with Object)
Дублирование видимых данных (Duplicate Observed Data)
Замена однонаправленной связи двунаправленной
(Change Unidirectional Association to Bidirectional)
Замена двунаправленной связи однонаправленной
(Change Bidirectional Association to Unidirectional)
Замена магического числа символической константой
(Replace Magic Number with Symbolic Constant)
Инкапсуляция поля (Encapsulate Field)
Инкапсуляция коллекции (Encapsulate Collection)
Замена записи классом данных (Replace Record with Data Class)
Замена кода типа классом (Replace Type Code with Class)
Замена кода типа подклассами (Replace Type Code with Subclasses)
Замена кода типа состоянием/стратегией (Replace Type Code
with State/Strategy)
Замена подкласса полями (Replace Subclass with Fields)

9. Упрощение условных выражений
Декомпозиция условного оператора (Decompose Conditional)
Консолидация условного выражения (Consolidate Conditional
Expression)
Консолидация дублирующихся условных фрагментов
(Consolidate Duplicate Conditional Fragments)
Удаление управляющего флага (Remove Control Flag)
Замена вложенных условных операторов граничным
оператором (Replace Nested Conditional with Guard Clauses)
Замена условного оператора полиморфизмом (Replace Conditional with Polymorphism)
Введение объекта Null (Introduce Null Object)
Введение утверждения (Introduce Assertion)

10. Упрощение вызовов методов
Переименование метода (Rename Method)
Добавление параметра (Add Parameter)
Удаление параметра (Remove Parameter)
Разделение запроса и модификатора (Separate Query from Modifier)
Параметризация метода (Parameterize Method)
Замена параметра явными методами (Replace Parameter
with Explicit Methods)
Сохранение всего объекта (Preserve Whole Object)
Замена параметра вызовом метода (Replace Parameter with Method)
Введение граничного объекта (Introduce Parameter Object)
Удаление метода установки значения (Remove Setting Method)
Сокрытие метода (Hide Method)
Замена конструктора фабричным методом (Replace Constructor
with Factory Method)
Инкапсуляция нисходящего преобразования типа
(Encapsulate Downcast)
Замена кода ошибки исключительной ситуацией (Replace
Error Code with Exception)
Замена исключительной ситуации проверкой (Replace
Exception with Test)

11. Решение задач обобщения
Подъем поля (Pull Up Field)
Подъем метода (Pull Up Method)
Подъем тела конструктора (Pull Up Constructor Body)
Спуск метода (Push Down Method)
Спуск поля (Push Down Field)
Выделение подкласса (Extract Subclass)
Выделение родительского класса (Extract Superclass)
Выделение интерфейса (Extract Interface)
Свертывание иерархии (Collapse Hierarchy)
Формирование шаблона метода (Form Template Method)
Замена наследования делегированием (Replace Inheritance
with Delegation)
Замена делегирования наследованием (Replace Delegation
with Inheritance)

12. Крупные рефакторинги
Разделение наследования (Tease Apart Inheritance)
Преобразование процедурного проекта в объекты
(Convert Procedural Design to Objects)
Отделение предметной области от представления (Separate Domain from Presentation)
Выделение иерархии (Extract Hierarchy)

13. Рефакторинг, повторное использование и реальность
Проверка в реальных условиях
Почему разработчики не хотят применять рефакторинг
к своим программам?
Возращаясь к проверке в реальных условиях
Ресурсы и ссылки, относящиеся к рефакторингу
Последствия повторного использования программного
обеспечения и передачи технологий
Завершающее замечание
Библиография

14. Инструментальные средства проведения рефакторинга
Рефакторинг с использованием инструментальных средств
Технические критерии для инструментов проведения рефакторинга
Практические критерии для инструментов рефакторинга
Краткое заключение

15. Складывая все вместе

Библиография
Список примечаний
Алфавитный указатель

Теги: Книга | Рефакторинг | | улучшение | существующего | кода | | Фаулер |

Share |
 
     



    Купить книги в разделе Купить книги компьютерные - Книги ООП  
 
Книга ATL 8: внутренняя структура и применение, 2-е издание. Кристофер Таваре
Купить Книга ATL 8: внутренняя структура и применение, 2-е издание. Кристофер Таваре Эта книга адресована программистам, работающим в Visual Studio 2005, использующим С++/СОМ и собирающимся перейти на ATL 8. Эти разработчики создают приложения, которые должны работать на любых системах, начиная с Windows 95, со слишком старыми процессорами и малыми объемами памяти для .NET. Они не могут позволить себе роскошь тратить драгоценные ресурсы на сбор мусора, JIT-компиляцию или на огромные библиотеки, набитые ненужными им классами.
Книга Архитектура программного обеспечения на практике. 2-е изд. Басс
Купить Книга Архитектура программного обеспечения на практике. 2-е изд. Басс Основываясь на собственном, причем весьма обширном, опыте, авторы, с одной стороны, раскрывают основные технические вопросы проектирования, специфицирования и проверки правильности, а с другой ? неизменно подчеркивают важность коммерческого контекста, в котором проводится проектирование крупных систем.
 
     


     
 
 
Главная Новинки книг Акции Оплата Доставка книг RSS Контакты
 
 
BOOMBOOKs 2009-2011 Создание сайтов & Раскрутка сайтов SKYLOGIC