Nebeneffekt: Unterschied zwischen den Versionen

Aus EINI
Wechseln zu: Navigation, Suche
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Ein '''Nebeneffekt''', oder auch '''Seiteneffekt''' ist eine unerwartete und meistens nicht gewünschte Veränderung des Wertes einer Variablen durch den Aufruf einer Methode oder Funktion.
+
Ein '''Nebeneffekt''', oder auch '''Seiteneffekt''', ist eine unerwartete und meistens nicht gewünschte Veränderung des Wertes einer [[Variablen]] durch den Aufruf einer [[Methode]] oder Funktion.
  
Die Übersicht über seinen Quellcode zu behalten ist in den meisten Projekten eine Herausforderung an sich. Meistens wird gut strukturierter Code in verschiedenste Teilfunktionen aufgeteilt um die Übersicht zu behalten. Manchmal kommt es jedoch dazu, dass Methodenaufrufe Änderungen an Variablen vornehmen, von denen man nicht erwartet, dass sie dies tun. Dies kann z.B. das Verändern von Werten in Feldern sein, weil man vergessen hat, eine manuelle Kopie vom Feld angelegt zu haben. Dies führt dazu, dass nach Aufruf einer Methode eine nicht dokumentierte Änderung an Daten vorgenommen wird und sich der aufrufende Programmierer wundert, warum sich seine Daten geändert haben.
 
  
Nebeneffekte können in vielen verschiedenen Formen auftreten und werden meistens als ein zu vermeidenes Übel angesehen. Einige Programmiersprachen versuchen daher Nebeneffekte streng zu verhindern. Je genauer eine Programmiersprache direkten Zugriff auf den Speicher des Rechners erlaubt, desto schwieriger ist es jedoch Nebeneffekte zu verhindern. Deswegen liegt es meistens an einem Programmierer, Nebeneffekte zu vermeiden oder die Nebeneffekte seines Programmes genau zu dokumentieren.
+
Bei den meisten Projekten ist es eine Herausforderung an sich, die '''Übersicht über den Quellcode''' zu behalten. Meistens wird zu diesem Zweck gut strukturierter Code in verschiedenste Teilfunktionen aufgeteilt.
 +
 
 +
Manchmal kommt es jedoch dazu, dass Methodenaufrufe '''unerwartete und ungeplante Änderungen an Variablen''' vornehmen. Das kann zum Beispiel das Verändern von Werten in [[Arrays]] sein, wenn keine manuelle Kopie des Arrays angelegt wurde. Dies führt dazu, dass nach dem Aufruf einer Methode eine nicht dokumentierte Änderung an Daten vorgenommen wird und der aufrufende [[Programmierung|Programmierer]] nicht nachvollziehen kann, wodurch sich seine Daten geändert haben.
 +
 
 +
'''Nebeneffekte''' können in vielen verschiedenen Formen auftreten und werden meistens als ein zu vermeidendes Übel angesehen. Einige [[Programmiersprachen]] versuchen daher, '''Nebeneffekte''' streng zu unterbinden. Je detaillierter eine Programmiersprache direkten Zugriff auf den Speicher des Rechners erlaubt, desto schwieriger ist es jedoch, Nebeneffekte zu verhindern. Deswegen liegt es meistens am Programmierer, Nebeneffekte zu vermeiden oder gegebenenfalls die Nebeneffekte seines Programmes genau zu dokumentieren.

Aktuelle Version vom 27. Juni 2016, 00:52 Uhr

Ein Nebeneffekt, oder auch Seiteneffekt, ist eine unerwartete und meistens nicht gewünschte Veränderung des Wertes einer Variablen durch den Aufruf einer Methode oder Funktion.


Bei den meisten Projekten ist es eine Herausforderung an sich, die Übersicht über den Quellcode zu behalten. Meistens wird zu diesem Zweck gut strukturierter Code in verschiedenste Teilfunktionen aufgeteilt.

Manchmal kommt es jedoch dazu, dass Methodenaufrufe unerwartete und ungeplante Änderungen an Variablen vornehmen. Das kann zum Beispiel das Verändern von Werten in Arrays sein, wenn keine manuelle Kopie des Arrays angelegt wurde. Dies führt dazu, dass nach dem Aufruf einer Methode eine nicht dokumentierte Änderung an Daten vorgenommen wird und der aufrufende Programmierer nicht nachvollziehen kann, wodurch sich seine Daten geändert haben.

Nebeneffekte können in vielen verschiedenen Formen auftreten und werden meistens als ein zu vermeidendes Übel angesehen. Einige Programmiersprachen versuchen daher, Nebeneffekte streng zu unterbinden. Je detaillierter eine Programmiersprache direkten Zugriff auf den Speicher des Rechners erlaubt, desto schwieriger ist es jedoch, Nebeneffekte zu verhindern. Deswegen liegt es meistens am Programmierer, Nebeneffekte zu vermeiden oder gegebenenfalls die Nebeneffekte seines Programmes genau zu dokumentieren.