digital-garden/dev/Побочные действия.md

41 lines
2.2 KiB
Markdown
Raw Normal View History

2024-11-08 23:37:40 +03:00
---
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) -->