Здравствуйте! Система категоризации Живого Журнала посчитала, что вашу запись можно отнести к категориям: IT, Происшествия. Если вы считаете, что система ошиблась - напишите об этом в ответе на этот комментарий. Ваша обратная связь поможет сделать систему точнее. Фрэнк, команда ЖЖ.
>его поджидает открытие: при всей своей внешней простоте, BIO_reset() в редких случаях может не суметь "перемотать", и тогда она сообщит об отказе.
Пфффф... Вообще любую функцию окромя арифметически операций (да и то, если есть шанс выйти за лимиты - то и их тоже) нужно оборачивать в проверку ошибки.
> Вообще любую функцию окромя арифметически операций (да и то, если есть шанс выйти за лимиты - то и их тоже) нужно оборачивать в проверку ошибки.
Значит, вы из списка начинающих программистов уже вычеркнуты.
Но с конкретно этой функцией есть злая подлянка, по историческим причинам. BIO_reset() "склеилась" из двух разных функций с противоречащими друг другу соглашениями. Поэтому один и тот же ноль, возвращённый BIO_reset(), означает успех в одних случаях и отказ в других, тот же ералаш и со всякими не-нолями. Вместо простого традиционного "if (errcode != ERR_OK)..." может получаться неудобная беда с усложнением структур данных и прочими рисками, причём этот код никогда не будет нормально протестирован, ибо трудно нормально тестировать ненормальное.
>Значит, вы из списка начинающих программистов уже вычеркнуты.
Я вообще не погромист, я просто маску нашёл.
А вот сколько раз я видел всяких "анэксепшен эррор" в различных изводах, кои означают, что погромиста, их писавшего, надо бить по голове книжкой "основы погромирования для чайников", дабы, "через трещину в голове вошло немного ума"...
Ну да, куда чаще увидишь "оптимизм" вчерашнего студента. Ну или просто, как Рейган сказал про фильмы, в которых снимался, "Продюсеры не стремились сделать эти фильмы хорошими - они стремились сделать их к четвергу."
Хм, мне казалось, что как раз в pet-projects надо писать "трижды параноидально", потому что за твоей спиной ни постороннего взгляда нет, ни тестеров. А в индустриального качества процессе надо писать "просто" параноидально, как предусмотрено процессом.
Я тоже так думал. Но вот была такая игрушка-автогонки, "Stunts". В ней был конструктор всяких трасс, от обычных гоночных до "каскадёрских" с трамплинами, бочками и мёртвыми петлями, и была одна беда --- какой смысл рисовать очень сложную трассу, если противник мог просто объехать самые коварные препятствия вплотную к ним, и программа это не отлавливала? Я написал маленькую залипуху, которая помещала всю трассу в озеро, так что любая попытка съехать с асфальта заканчивалась утоплением. Написал, детишки были довольны, и забыл бы, если бы потом не обнаружил эту залипуху на всех пиратских дисках с этим самым "Stunts".
Никогда заранее не знаешь, чем дело кончится. Мимоходом шутишь на покойном ныне "Револьвере", а потом это Алфёров цитирует в телеящике.
Comments 10
Система категоризации Живого Журнала посчитала, что вашу запись можно отнести к категориям: IT, Происшествия.
Если вы считаете, что система ошиблась - напишите об этом в ответе на этот комментарий. Ваша обратная связь поможет сделать систему точнее.
Фрэнк,
команда ЖЖ.
Reply
Пфффф...
Вообще любую функцию окромя арифметически операций (да и то, если есть шанс выйти за лимиты - то и их тоже) нужно оборачивать в проверку ошибки.
Reply
Значит, вы из списка начинающих программистов уже вычеркнуты.
Но с конкретно этой функцией есть злая подлянка, по историческим причинам. BIO_reset() "склеилась" из двух разных функций с противоречащими друг другу соглашениями. Поэтому один и тот же ноль, возвращённый BIO_reset(), означает успех в одних случаях и отказ в других, тот же ералаш и со всякими не-нолями. Вместо простого традиционного "if (errcode != ERR_OK)..." может получаться неудобная беда с усложнением структур данных и прочими рисками, причём этот код никогда не будет нормально протестирован, ибо трудно нормально тестировать ненормальное.
Reply
Я вообще не погромист, я просто маску нашёл.
А вот сколько раз я видел всяких "анэксепшен эррор" в различных изводах, кои означают, что погромиста, их писавшего, надо бить по голове книжкой "основы погромирования для чайников", дабы, "через трещину в голове вошло немного ума"...
( ... )
Reply
Reply
(The comment has been removed)
Reply
(The comment has been removed)
Никогда заранее не знаешь, чем дело кончится. Мимоходом шутишь на покойном ныне "Револьвере", а потом это Алфёров цитирует в телеящике.
Reply
Reply
Reply
Reply
Leave a comment