Czym jest optymalizacja kodu?
Optymalizacja kodu to działania mające na celu poprawę efektywności programu, najczęściej przez skrócenie czasu wykonania, zmniejszenie zużycia pamięci albo ograniczenie liczby operacji wykonywanych przez procesor.
W pytaniach egzaminacyjnych ważne jest rozróżnienie: optymalizacja nie polega na sprawdzaniu zgodności z wymogami formalnymi. To jest raczej walidacja, analiza składniowa, testowanie zgodności ze standardem lub kontrola jakości kodu.
Cele optymalizacji
Optymalizacja może służyć do:
- przyspieszenia działania programu,
- zmniejszenia zużycia pamięci RAM,
- ograniczenia liczby operacji wejścia/wyjścia,
- poprawy wydajności zapytań do bazy danych,
- lepszego wykorzystania procesora.
Kiedy wykonuje się optymalizację?
Optymalizacja może być realizowana na różnych etapach:
- podczas pisania kodu źródłowego przez programistę,
- podczas kompilacji przez kompilator,
- podczas działania programu, np. przez mechanizmy JIT,
- podczas refaktoryzacji istniejącej aplikacji.
Przykład prostej optymalizacji
Kod mniej efektywny:
for (let i = 0; i < tablica.length; i++) {
console.log(tablica[i]);
}
W pewnych sytuacjach można ograniczać powtarzane obliczenia lub operacje, np. zapamiętując wynik, unikając zagnieżdżonych pętli albo stosując lepszą strukturę danych.
Czego nie należy mylić z optymalizacją?
Optymalizacja to nie to samo co:
- sprawdzanie poprawności składni,
- walidacja zgodności ze standardem,
- testowanie funkcjonalne,
- sprawdzanie wymagań formalnych.
W kontekście pytania egzaminacyjnego nieprawidłowy opis optymalizacji to stwierdzenie, że jej celem jest sprawdzenie zgodności z wymogami formalnymi.