Funkcja w programowaniu

Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji

Czym jest funkcja w programowaniu?

Funkcja to wydzielony fragment programu, który wykonuje określone zadanie. Może przyjmować dane wejściowe, czyli parametry, oraz zwracać wynik. W programowaniu obiektowym podobną rolę pełni metoda, czyli funkcja należąca do klasy lub obiektu.

Po co dzieli się program na funkcje?

Podział programu na funkcje ułatwia tworzenie, analizowanie i utrzymywanie kodu. Najważniejsze korzyści to:

  • łatwiejsze debugowanie - błąd można szybciej znaleźć, bo sprawdza się mniejsze fragmenty kodu,
  • ponowne wykorzystanie kodu - raz napisaną funkcję można wywołać wiele razy,
  • czytelność programu - kod jest lepiej uporządkowany,
  • łatwiejsze testowanie - można testować pojedyncze funkcje niezależnie,
  • mniejsza liczba powtórzeń - zamiast kopiować ten sam kod, wywołuje się funkcję.

Przykład

def pole_prostokata(a, b):
    return a * b

print(pole_prostokata(4, 5))
print(pole_prostokata(10, 2))

Funkcja pole_prostokata została napisana raz, ale można jej używać wielokrotnie dla różnych danych.

Funkcja a metoda

Funkcja może istnieć samodzielnie, np. w Pythonie lub C++. Metoda jest związana z klasą lub obiektem, np. w Javie, C# albo C++.

class Kalkulator {
    int dodaj(int a, int b) {
        return a + b;
    }
}

Tutaj dodaj jest metodą klasy Kalkulator.

Ważne na egzaminie

Podział programu na funkcje lub metody nie gwarantuje kompilacji, nie eliminuje komentarzy i nie usuwa automatycznie potrzeby zmiennych globalnych. Jego głównym celem jest uporządkowanie kodu, łatwiejsze debugowanie oraz ponowne wykorzystanie fragmentów programu.