El principio de no side effects (o “sin efectos secundarios” en español) es un concepto en programación que se refiere a la idea de que una función o método no debe causar cambios en el estado del sistema fuera de su propio ámbito local. En otras palabras, una función no debe modificar ninguna variable global o cambiar el estado de cualquier objeto o recurso externo a su propia ejecución.
La idea detrás de este principio es que, al limitar el alcance de las funciones y métodos y mantenerlos autocontenidos, es más fácil razonar sobre su comportamiento y evitar errores y bugs.
Qué es el código espagueti Código espagueti se refiere a código que está desordenado y difícil de entender debido a una mala estructuración, un uso excesivo de anidamientos de estructuras de control, una falta de comentarios y una falta de nombres claros para variables y funciones.
El término viene por la analogía de que el código es tan desordenado como un plato de espagueti.
En los lenguajes no estructurados (como BASIC, por ejemplo) el uso de la sentencia GOTO era la causa principal de código espagueti.