Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Рефакторинги рівня операторів

o Провести декомпозицію логічного виразу.

o Перенести складний логічний вираз в добре іменовану булеву функцію .

o Об’єднати оператори, що знаходяться в різних частинах умовного оператора.

o Використовувати break чи return замість змінних, що служать для виходу з циклу.

o Виконувати return як тільки обчислено результат функції замість присвоєння значення, що повертається, спеціальній змінній.

o Заміняти умови поліморфізмом (особливо case-оператори).

o Створювати і використовувати null об’єкти замість перевірки на значення null.

Рефакторинги рівня методів

o Виокремити метод.

o Перенести код методу у місце виклику.

o Перетворити довгий метод у клас.

o Замінити простий алгоритм більш ефективним складнішим алгоритмом.

o Додати параметр.

o Вилучити параметр.

o Відділити операції читання від операцій запису.

o Об’єднати схожі методи, використавши параметри.

o Розділити методи, чия поведінка залежить від переданого параметра.

o Передавати як параметр цілий об’єкт, а не окремі поля.

o Передавати як параметр окремі поля, а не цілий об’єкт.

o Інкапсулювати приведення типу вниз.

Рефакторинги рівня реалізації класу

o Уникати багаторазового створення об’єктів шляхом використання вказівників на об’єкт, що розділяється декількома частинами програми (для великих, громіздких об’єктів).

o Уникати використання багатьох вказівників шляхом створення багатьох об’єктів (для малих об’єктів).

o Змінювати положення методів або даних в ієрархії.

o Виокремити спеціалізований клас в підклас.

o Скомбінувати схожий код в клас вищого рівня ієрархії.

Рефакторинги рівня інтерфейсу класу

o Перенести метод в інший клас.

o Розбити клас на два.

o Прибрати клас.

o Вилучити проміжний метод.

o Вилучити set()-методи для полів, які не можуть змінюватись.

o Приховувати методи, які не використовуються поза межами класу.

o Об’єднати клас-нащадок та клас-предок, якщо їх реалізація дуже подібна.

Рефакторинги рівня системи

o Робити копії даних, якими програміст не керує.

o Замінити односторонній зв’язок класів двостороннім.

o Замінити двосторонній зв’язок класів одностороннім.

o Створити фабрику об’єктів замість простого конструктора.

o Замінити коди помилок на виключні ситуації або навпаки.


Читайте також:

  1. Internet. - це мережа з комутацією пакетів, і її можна порівняти з організацією роботи звичайної пошти.
  2. V Процес інтеріоризації забезпечують механізми ідентифікації, відчуження та порівняння.
  3. V Розвиток кожного нижчого рівня не припиняється з розвитком вищого.
  4. VI. Система навчаючих завдань для перевірки кінцевого рівня завдань.
  5. VI. Система навчаючих завдань для перевірки кінцевого рівня завдань.
  6. VІI. Утворіть вищий та найвищий ступені порівняння від прислівників із вправи VI.
  7. Автоматизація водорозподілу на відкритих зрошувальних системах. Методи керування водорозподілом. Вимірювання рівня води. Вимірювання витрати.
  8. Аналіз і оцінка рівня соціальної відповідальності бізнесу
  9. Аналіз рівня економічної безпеки підприємства
  10. Аналіз рівня рентабельності підприємства
  11. Аналіз рівня середньореалізаційних цін
  12. Аналіз рівня, динаміки і структури обсягу виробленої та реалізованої продукції




Переглядів: 503

<== попередня сторінка | наступна сторінка ==>
Рефакторинги рівня даних | Безпечний рефакторинг

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.009 сек.