Ce este refactorizarea?
Citește în englezăRefactoring
De ce contează
Codul care funcționează poate fi în continuare greu de schimbat. Pe măsură ce funcțiile se adună, scurtăturile și încâlcelile se strâng ca datorie tehnică, iar fiecare schimbare nouă devine mai lentă și mai riscantă. Refactorizarea este curățenia deliberată care ține o bază de cod ușor de lucrat: același comportament, formă mai bună. Făcută constant, este diferența dintre un produs care rămâne ieftin de dezvoltat și unul care se blochează.
Refactorizare vs rescriere
O rescriere aruncă sistemul vechi și o ia de la zero, ceea ce este scump și riscant și de multe ori nu livrează nimic luni întregi. Refactorizarea îmbunătățește sistemul pe care îl ai deja, în pași mici, în timp ce acesta continuă să ruleze. De cele mai multe ori, refactorizarea pe loc este pariul mai sigur. Am modernizat exact așa ERP-ul de shipping al Oceaneering, construit cu React, Node și GraphQL, îmbunătățind baza de cod fără să scoatem produsul din funcțiune.
O greșeală frecventă
Să tratezi refactorizarea ca pe ceva ce faci „mai târziu”, când va fi timp. Nu este niciodată timp, așa că datoria doar crește. Cealaltă capcană este să refactorizezi fără teste: dacă nimic nu dovedește că s-a păstrat comportamentul, o curățenie devine în tăcere un bug nou. Noi refactorizăm în spatele unei plase de siguranță de teste, în pași suficient de mici cât să poată fi livrați. Uneori curățenia deblochează și munca de performanță, așa cum pregătirea unei baze de cod Laravel a făcut simplă mutarea ei pe Octane.