Optymalizacja kodu

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

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.