Refaktorování kód je proces přepracování zdrojový kód počítačového programu - ne však přidávají nové funkce nebo opravy chyb v - s cílem zlepšit čitelnost a následně i údržbu, nebo aby bylo obecnější (aby například usnadnit změna z jedné na více přesností); mluvíme také o „reorganizaci“. Tato technika používá několik metod specifických pro optimalizaci kódu s různými účely.
Termín repasování pochází z Quebecu . Ekvivalentem v angličtině je refaktoring kódu , někdy vyjádřený refaktoringem , což je termín, kterému se podle Office québécois de la langue française ( OQLF ) je třeba vyhnout.
Během životnosti softwaru do něj často přidáváme funkce a v každém případě opravujeme jeho chyby . Tyto postupné úpravy, které obecně nezlepšují čitelnost softwaru, proto neusnadňují jeho následnou údržbu.
Zdrojový kód , program má velký zájem na zbývající, a to navzdory jeho modifikací, tak jasné, jak je to možné.
Techniky agilního programování , u nichž je vývoj a poskytování prováděno téměř nepřetržitě, činí tento požadavek ještě zásadnějším.
Aby byl kód vždy co nejjednodušší, jsme:
Během stejné relace přepracování budeme uvažovat o těchto různých úrovních:
Tato úroveň vylepšuje prezentaci zdrojového kódu bez úpravy provedeného kódu: komentáře (odstranění nadbytečných komentářů, přidání komentářů ke složitým oddílům atd.) A rozložení (homogenní odsazení kódu, zalomení řádků atd.). Software jako Eclipse nebo dokonce historický cb ( C beautifier ) Linuxu může tuto kosmetickou operaci usnadnit, dokonce i podporovat. Eclipse dokonce nabízí několik variant.
Cílem tohoto typu modifikace je udržet metody co nejjednodušší, například rozdělením metody nebo algoritmu na několik částí nebo svěřením části zpracování objektu přílohy.
Jelikož tento typ modifikace často zavádí chyby , je nutně doprovázen baterií testů jednotek prováděných po každé navržené modifikaci, aby se zajistilo, že nedojde k regresi .
Skládá se z přesunutí procedury buď do jiné procedury, nebo do hlavní části třídy. Může také vyvolat posun procedury v nadřazené třídě ( pull-up ) nebo v podřízené třídě ( push-down ). (dokončit).
Tato radikálnější změna mění hierarchii tříd, které tvoří aplikaci. Více než kdy jindy jsou nezbytné testy progresivity a ne-regresní testy. Proces usnadňuje použití průzkumníka tříd .
Mrtvý kód je kód, o kterém vidíme, že je k ničemu, protože není volán jinou částí programu. Nepochybně užitečné v dřívější fázi vývoje nebo ladění , již nemá účel, dělá čtení zdrojového kódu složitějším a odvádí pozornost těch, kteří jsou odpovědní za údržbu .
K detekci mrtvého kódu lze použít následující techniky:
Jiná forma mrtvého kódu: komentovaný kód ( komentář ). Často se stává, že po úpravách zůstanou celé části starého kódu, aby bylo možné snadno se vrátit k předchozí verzi. Tento typ kódu by měl být také odstraněn na konci vývojové relace.
V každém případě se nikdy nedoporučuje uchovávat kód, který lze jeden den použít . Vždy je nejlepší jej odebrat z pracovní verze a použít verzovací nástroj pro kontrolu tohoto typu kódu.
Tvrzení definují sadu pravidel, která má aplikace dodržovat při programování kontraktů . Na jedné straně jsou velmi zajímavé, protože umožňují zjednodušit ladění detekcí chyb co nejdříve, ale také proto, že jsou umístěny uvnitř kódu, který ovládají, a mohou proto pomoci porozumět stavu problému.
Jak se software vyvíjí, role tříd a metod se stává méně jasnou. Proto je často užitečné upravit názvy tříd nebo metod tak, aby jasně označovaly tuto roli.
V otázce komentářů k softwarové dokumentaci neexistuje shoda . Je však důležité vždy synchronizovat komentář, kód a externí dokumentaci (viz POD ).