Вопрос к людям с приличным опытом работы в команде:
Смешивать в коде eafp и lybl - является плохим тоном?
Например: в функции я в одном месте через условие проверяю, есть ли файл, а в другом месте чуть ниже ловлю эксепшн при отсутствии ключа в словаре
это зависит от вероятности события.
Если каждый 10-й файл не существует, то лучше через условие проверять, а если несуществование файла это какая-то катастрофа раз в 5 лет — то можно через исключение.
Если ключ в словаре постоянно теряется, то можно и через условие проверять if key in dict
, а если несуществование ключа это какая-то катастрофа раз в 7 лет — то можно через исключение.
Сам термин исключение говорит о том, что это буквально исключительная ситуация, которую никто не ждал.