МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів
Контакти
Тлумачний словник Авто Автоматизація Архітектура Астрономія Аудит Біологія Будівництво Бухгалтерія Винахідництво Виробництво Військова справа Генетика Географія Геологія Господарство Держава Дім Екологія Економетрика Економіка Електроніка Журналістика та ЗМІ Зв'язок Іноземні мови Інформатика Історія Комп'ютери Креслення Кулінарія Культура Лексикологія Література Логіка Маркетинг Математика Машинобудування Медицина Менеджмент Метали і Зварювання Механіка Мистецтво Музика Населення Освіта Охорона безпеки життя Охорона Праці Педагогіка Політика Право Програмування Промисловість Психологія Радіо Регилия Соціологія Спорт Стандартизація Технології Торгівля Туризм Фізика Фізіологія Філософія Фінанси Хімія Юриспунденкция |
|
|||||||
Ознаки того, що потрібен рефакторинг
Перерахуємо основні ознаки ("попереджувальні знаки" – Мартін Фаулер називав їх "smells"), що вказують на потребу в рефакторингу: o Є дублювання коду o Метод занадто довгий o Цикл занадто довгий або занадто велика вкладеність циклів o Клас має погану внутрішню зв'язність o Інтерфейс класу не забезпечує достатній рівень абстракції o Список параметрів занадто довгий o Зміни, що вносяться в клас, мають сегментний характер o Зміни вимагають паралельну модифікацію багатьох класів o Різні ієрархії класів повинні модифікуватися паралельно o Пов’язані між собою дані, що використовуються разом, не організовані в один клас o Метод використовує більше членів іншого класу, ніж свого o Базовий тип перевизначено o Клас не має достатньої функціональної навантаженості o В ланцюгу викликів методів є ланцюг параметрів, що передаються o Проміжний об’єкт не робить нічого власного o Клас занадто зв’язаний з іншим класом o Метод має погане ім’я o Поля є public o Клас-нащадок використовує тільки невелику кількість з методів класу-предка o Коментарі використовуються для пояснення складного коду o Використовуються глобальні змінні o Метод потребує код ініціалізації перед викликом або пост-код після виклику o Програма вміщує код, який здається таким, що "може знадобитись колись" Розглянемо деякі з них. Дублювання коду Воно майже завжди означає, що при початковому проектуванні коду не було правильно проведено декомпозицію. Дублювання коду заставляє програміста вносити паралельні зміни. Це суперечить широко відомому принципу DRY - Don’t Repeat Yourself. Метод занадто довгий В об’єктно-орієнтованому програмуванні методи величиною більші за екран рідко бувають потрібні і зазвичай означають спробу впхнути принципи структурного програмування в об’єктно-орієнтовану програму. Одним зі шляхів покращення системи є збільшення її модульності – збільшення кількості добре визначених, добре іменованих методів, які добре роблять одну визначену річ. Якщо метод стає зрозумілішим при перенесенні частини його в окремий метод, потрібно створювати цей метод. Інтерфейс класу не забезпечує достатній рівень абстракції Навіть класи, які на початку мали раціонально побудований інтерфейс, можуть втратити свою цілісність з плином часу. Інтерфейс класу має тенденцію до розпливання в процесі розробки, особливо коли в клас вносяться термінові зміни. Врешті інтерфейс класу починає негативно впливати на зрозумілість програми. Читайте також:
|
||||||||
|