Comments 5
Вот совершенно не захотелось "записаться на урок по ссылке" после этой статьи... Интересно, почему?
Ещё поймал себя на мысли, что не могу припомнить ни одного случая, когда мне в Python захотелось бы применить "неиспользование контекстного менеджера для открытия файла". Вот ни разу! Видимо, я пропустил раздачу этого "антипаттерна" /s
У меня есть пример, когда осмысленно не закрывал файлы. Это утилиты, единственная задача которых - обработать файл. Контекстный менеджер в таком случае уже существует и называется "процесс операционной системы". Завершается он - закрываются и все его файлы :)
Только если открывали их на чтение. Если вы открываете их запись то в менее продающих пользователя языках типа с++ это может привести к потопе данных. В питоне тоже может но надо постараться, там защиты от дурака побольше.
А потом этот код захотят переиспользовать и полезу сюрпризы. Завернуть в контекстный менеджер ничего не стоит.
Тема статьи - "Антипаттерны тестирования: как не стоит писать тесты в Python".
В статье же описаны плохие практики написания кода вообще и кое-как затронуты тесты в самом начале. А антипаттерны в тестах когда будут?
Антипаттерны тестирования: как не стоит писать тесты в Python. Часть 1