digital-garden/dev/Побочные действия.md
Struchkov Mark 516c330dc2
Some checks reported errors
continuous-integration/drone/push Build was killed
continuous-integration/drone Build is failing
Обновление
2024-11-08 23:37:40 +03:00

41 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
aliases:
- side effects
tags:
- maturity/🌱
date: 2024-11-08
---
Побочные действия в коде — это любые операции, которые изменяют состояние за пределами самой функции. Это может быть:
- изменение внешних переменных;
- модификация содержимого коллекций, находящихся вне функции;
- операции с файловой системой или базами данных;
- взаимодействие с сетью и другие внешние взаимодействия.
Такие действия могут сделать код менее предсказуемым и сложным в отладке, так как результат работы функции может зависеть от внешнего состояния, которое не всегда явно.
## Примеры побочных действий в Java
### Изменение внешней коллекции с использованием forEach
```java
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
List<String> upperCaseNames = new ArrayList<>();
// Побочный эффект: добавление элементов во внешнюю коллекцию
names.forEach(name -> upperCaseNames.add(name.toUpperCase()));
```
В этом примере метод forEach используется для преобразования имен в верхний регистр и добавления их в `upperCaseNames`. Это создает зависимость от внешней переменной `upperCaseNames`, что является побочным действием.
***
## Мета информация
**Область**:: [[../meta/zero/00 Разработка|00 Разработка]]
**Родитель**::
**Источник**::
**Создана**:: [[2024-11-08]]
**Автор**::
### Дополнительные материалы
-
### Дочерние заметки
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->