Как объяснить контроль side effects в функциях?

PythonMiddlePython CoreТеорияpythoncorebackendinterviewpython-coreкачество-кода

Что хотят услышать интервьюеры:

Ответ для уровня Middle: объяснение должно включать не только что такое контроль side effects в функциях, но и когда его использовать, когда не использовать и как проверить корректность.

Ответ:

Ситуация: в коде появился неожиданный side effect или значение изменилось не там, где ожидали. В такой ситуации нужно найти источник проблемы, измерить эффект и выбрать минимально достаточное решение.

Сравнение: важно отличать контроль side effects в функциях от неявная мутация, потому что у них разные цели и trade-off.

Пример:

a = []<br>b = a<br>b.append(1)<br>print(a)

Хороший ответ: звучит через практику: ограничение, пример, типичная ошибка, тест или production-последствие.

Источники

Похожие вопросы