Sobes.tech
Junior

Τι είναι οι παρενέργειες στο πλαίσιο του προγραμματισμού;

sobes.tech AI

Απάντηση από AI

Ένα παρενέργεια είναι μια αλλαγή στην ορατή κατάσταση ενός προγράμματος που συμβαίνει εκτός της τιμής επιστροφής μιας συνάρτησης.

Οι κύριοι τύποι παρενεργειών:

  • Τροποποίηση παγκόσμιων μεταβλητών ή της κατάστασης αντικειμένων.
  • Είσοδος/έξοδος δεδομένων (ανάγνωση από αρχείο, εγγραφή στην κονσόλα, αιτήματα δικτύου).
  • Αλλαγή περιεχομένου βάσης δεδομένων.
  • Ρίψη μη διαχειριζόμενης εξαίρεσης εντός της συνάρτησης.
  • Αλλαγή του δέντρου DOM στον browser.
  • Κλήση άλλων συναρτήσεων με παρενέργειες.

Παράδειγμα καθαρής συνάρτησης (χωρίς παρενέργειες):

// Η συνάρτηση απλώς προσθέτει δύο αριθμούς και επιστρέφει το αποτέλεσμα
function add(a, b) {
  return a + b;
}

Παράδειγμα συνάρτησης με παρενέργεια (αλλαγή παγκόσμιας μεταβλητής):

let total = 0;

// Η συνάρτηση προσθέτει μια τιμή και τροποποιεί την παγκόσμια μεταβλητή
function addToTotal(value) {
  total += value; // Παρενέργεια: αλλαγή στην παγκόσμια μεταβλητή
  return total;
}

Επίδραση των παρενεργειών:

  • Δυσκολεύουν τον έλεγχο.
  • Περιπλέκουν την παράλληλη εκτέλεση του κώδικα λόγω πιθανών συνθηκών αγώνα.
  • Κάνουν τον κώδικα λιγότερο προβλέψιμο και πιο δύσκολο στην κατανόηση.
  • Μπορούν να παραβιάζουν τις αρχές του λειτουργικού προγραμματισμού.

Στην ανάπτυξη frontend, οι παρενέργειες συχνά σχετίζονται με:

  • Διαχείριση του DOM.
  • Αιτήματα HTTP.
  • Λειτουργίες με Local Storage ή Session Storage.
  • Εργασία με τρίτες API.

Η διαχείριση των παρενεργειών αποτελεί σημαντική εργασία στην κατασκευή αξιόπιστων και εύκολα συντηρήσιμων εφαρμογών. Τα μοτίβα όπως το Redux (που δίνει έμφαση στη προβλέψιμη διαχείριση της κατάστασης και στη διαχωρισμό των παρενεργειών σε ενέργειες/σάγκα) ή η χρήση καθαρών συναρτήσεων όπου είναι δυνατόν, βοηθούν στη μείωση της αρνητικής τους επίδρασης.