refaktoreerimine
Refaktoreerimine on tarkvara arenduses koodi sisemise struktuuri muutmine eesmärgiga parandada selle loetavust, hooldatavust ja laiendatavust, ilma et väliselt käitumine või funktsionaalsus muutuks. See tähendab, et olemasolevad liidesed ja funktsioonid jäävad samaks, kuid koodiväljund organiseeritakse viisil, mis on lihtsam mõista ja muuta.
Peamised motivatsioonid on duplikaatori vähendamine, pikkade meetodite ja keeruliste klasside lihtsustamine, testitavuse parandamine ning tehnilise võla
Levinud tehnikad hõlmavad meetodite eraldamist (extract method), klasside eraldamist (extract class), nimede muutmist (rename), duplikaadi eemaldamist,
Protsess koosneb väikesest, pidevast tööst: kirjutad või parandad testid, muudad koodi piiratud osas ja jooksutad testid
Oluline on meeles pidada, et refaktoreerimine ei asenda arhitektuuri uuendamist suuremate muudatuste puhul; see on tööriist,