Skip to content
EntityQ116877· pop 37· linked from 187 articles

Refaktoryzacja

Sign in to save

Also known as refactoring, code refactoring

process of restructuring existing computer code without changing its external behavior

Article · Polski

Refaktoryzacja (czasem też refaktoring, ang. refactoring) – proces wprowadzania zmian w projekcie/programie, w wyniku których zasadniczo nie zmienia się funkcjonalność. Celem refaktoryzacji jest więc nie wytwarzanie nowej funkcjonalności, ale utrzymywanie odpowiedniej, wysokiej jakości organizacji systemu. W ramach refaktoryzacji podejmowane są następujące działania: * modyfikowanie elementów systemu w celu wpasowania ich w przyjęte standardy i wzorce * poszukiwanie nowych standardów i wzorców, które pojawiły się w systemie w trakcie jego rozwoju i ich precyzyjne definiowanie (łącznie z wpasowywaniem istniejących elementów w te definicje). Dzięki refaktoryzacji w systemie ogranicza się redundancję (nadmiarowość, np. istnienie wielu obiektów i procedur o takiej samej lub bardzo zbliżonej funkcjonalności, a mających niezależne implementacje, czyli stosując regułę DRY) i wprowadza standardy. W przypadku systemów o architekturach wielowarstwowych, refaktoryzacja jest jednym z istotnych czynników gwarantujących zachowanie silnej separacji warstw systemu i ich przejrzystej struktury. Refaktoryzacja jest kosztowna, ale jest istotnym elementem zarządzania projektem informatycznym. W szczególności zaś przy dużych i złożonych projektach koszt dobrze prowadzonej refaktoryzacji powinien być zrekompensowany dużo niższym kosztem wprowadzania późniejszych zmian w projekcie, szczególnie zmian o charakterze globalnym (przekrojowym), dotykających wielu modułów funkcjonalnych jednocześnie. W przypadku projektów obarczonych dużym ryzykiem niepowodzenia (np. z powodu niestabilnych wymagań funkcjonalnych klienta) regularnie prowadzona refaktoryzacja wydaje się być nieodzowna. Narzędzia wspomagające refaktoryzację należą do narzędzi CASE i możemy je dziś spotkać jako narzędzia wbudowane w zintegrowane środowiska programistyczne.

Abstract from DBpedia / Wikipedia · CC BY-SA