Кога трябва да направите рефакторинг?
Кога трябва да направите рефакторинг?

Видео: Кога трябва да направите рефакторинг?

Видео: Кога трябва да направите рефакторинг?
Видео: Рефакторинг: switch vs if-else vs enum vs HashMap [Шаблон "Команда"] 2024, Може
Anonim

Мартин Фаулър описва правилото на трите, което обяснява кога да се преработи , в неговата книга Рефакторинг . Той казва, че за първи път разработчиците направи нещо, те трябва да се направи то направо. Следващия път, ако те направи нещо подобно, те могат да дублират съществуващия код. Третия път те трябва да се преработи.

Оттук нататък, кога не трябва да преработвате?

Можете да получите код без тестове рефакторинг за да го направи по-проверимо. Ти правиш не рефакторинг код, когато не можете да тествате получения код навреме, за да го доставите, така че той все още да е ценен за получателя. Ти правиш не рефакторинг код, когато вашият рефакторинг ще не подобряване на качеството на кода.

Знайте също, кога трябва да се направи рефакторинг в agile? Рефакторинг Принцип втори: Бизнес катализатори Ако бизнесът се нуждае от нова функция, тогава рефакторинг трябва само да бъде Свършен на онези части на системата, които са необходими за активиране на тази функция. С други думи, недей рефакторинг целият потребителски интерфейс, просто рефакторинг частите, които се отнасят до конкретната бизнес заявка.

Освен по-горе, кога трябва да извършите рефакторинг?

Рефакторинг е процесът на промяна на структурата на кода, без да се променя нейната поведение . Би трябвало използван да се улесняване на добавянето на функции. Тъй като резултатът е код, който "мирише" по-добре, понякога хората се объркват и си мислят това рефакторинг е край да се себе си. аз не съм съгласен с това мнение.

Какво ви кара да преработвате?

Един от основните причини за рефакторинг това в някакъв момент ли е Вие разберете, че кодът се използва от повече от един кодов път и Вие не искате да дублирате (копирате и поставяте), но използвайте повторно. Това е особено важно в случаите, когато Вие намерете грешка в този код.

Препоръчано: