Внезапно выяснилось, что мою недавнюю заметку про противопоставление исключений кодам возврата, обсуждают в свежем выпуске DevZen Podcast №45 (где-то с 37:10 до 54:00).
После прослушивания возникло тоже самое ощущение, которое у меня возникало в бытность менеджером, когда подчиненные приносили очередную дурную весть. Бывает, слушаешь описание только что обнаружившегося факапа и задаешься всего одним вопросом: "Ну Ёшкин-же-ж-кот, ну ведь умные же люди, ну как же вам в голову такое взбрело?"
А потом, отойдя от первого шока, анализируешь произошедшее и понимаешь, что изначально всему виной ты сам: не ограничил жестко контекст, не задал рамки для самостоятельного "творчества". Подумал, что все находятся на том же уровне понимания, на котором ты сам и лишний раз объяснять ничего не нужно. Не потратил лишних пять минут на два-три дополнительных предложения... Вот теперь расхлебывай.
Собственно, тоже самое и здесь. Заметка касалась C++ и только C++, более того, она в большей степени относилась к противопоставлению C++11 более старым стандартам C++98/03.
Только вот явно я это забыл указать. Тег "язык C++" повесил, а в начале поста большими жирными буквами этого не написал. Обычная такая менеджерская забывчивость, в моем случае еще и усугубленная прогрессирующим старческим маразмом.
А по итогу люди, не знакомые с C++ и не занимающиеся разработкой софта на C++, плачут от увиденного кода и проецируют мои высказывания на современные языки с алгебраическими типами данных.
Судя по всему, тему исключений в C++ (именно в C++ и только в C++) нужно будет поднять еще раз, т.к. остался без ответа один важный пункт: по каким маркерам нужно принимать решения о выборе между исключениями и кодами возврата. Т.к. исключения -- это хорошо, но все хорошо в меру и эту меру лучше оценить заранее.
Комментариев нет:
Отправить комментарий