
Рефакторинг вже давно і міцно займає гідне місце серед технологій програмування, і не в останню чергу завдяки Мартіну Фаулеру - автору однієї з тих книг, які написані "на всі часи". Сам принцип рефакторінга простий: це послідовність невеликих кроків, таких як переміщення поля з одного класу в інший, винесення фрагмента коду з методу і його перетворення в самостійний метод або навіть переміщення коду по ієрархії класів. Кожен такий крок виглядає настільки просто і природно, що здається дивним - про що тут можна писати? Однак кумулятивний ефект від таких малих змін полягає в істотному поліпшенні архітектури існуючого коду. Мартін Фаулер і інші висококласні фахівці в області об'єктно-орієнтованого програмування, що прийняли участь в написанні цієї книги, виклали принципи і найбільш ефективні методики виконання різних рефакторингов і показали, коли і як слід вивчати код з метою його поліпшення. У книзі детально описано понад 60 методів рефакторинга, причому з практичними прикладами на мові програмування JavaScript. Застосування JavaScript і опис "рефакторінга без класів" є одним з відмінностей нового видання книги від старого. Якщо перше видання книги можна було порівняти з хорошим вином, яке з часом стає тільки цінніше, то друге видання можна порівняти з шампанським - ідеї в книзі оп'яняють, а їх виклад іскриться і грає ... Це видання класичної книги гідно того, щоб зайняти своє місце на книжковій полиці кожного серйозного програміста - незалежно від мови програмування. Понад двадцять років досвідчені програмісти у всьому світі використовували книгу Мартіна Фаулера Рефакторинг, коли їм потрібно було поліпшити проект існуючого коду, зробити його зручнішим для супроводу програмного забезпечення або полегшити розуміння існуючого коду. Це - таке довгоочікуване - нове видання було повністю оновлено, щоб відобразити важливі зміни в області програмування. Друге видання книги містить оновлений каталог рефакторингов і включає приклади коду на JavaScript, а також нові функціональні приклади, що демонструють рефакторинг без класів. Як і в першому виданні, тут пояснюється, що таке рефакторинг, чому ви повинні вдаватися до рефакторингу, як розпізнати код, який потребує рефакторінгу, і як успішно його провести незалежно від того, яку мову програмування ви використовуєте. Основні теми книги: Розуміння процесу і загальних принципів рефакторінга Швидке застосування корисних рефакторингов для полегшення розуміння і зміни програм Розпізнавання запаху в коді, який сигналізує про можливе застосування рефакторинга Каталог рефакторингов з поясненнями, мотивацією, технікою застосування і простими прикладами Створення надійних тестів для рефакторингов Компроміси і перешкоди на шляху рефакторінга Про автора: Мартін Фаулер - головний науковий співробітник компанії ThoughtWorks. Він називає себе "автором, доповідачем, консультантом і просто людиною, базікати про розробку програмного забезпечення". Фаулер займається розробкою програмного забезпечення для підприємств, вивчаючи, що робить проект хорошим, і які методи необхідно застосовувати для його створення.