All streams
Search
Write a publication
Pull to refresh
7
0
Юрий Худобин @0x3f00

User

Send message
Не проще ли было посчитать через удельную теплоту сгорания автомобильного топлива?
В марте была статья о подковерной борьбе в ПР:
"Авиапочта замедленного действия"
Многое становится ясно.
Начали за здравие (JavaScript), окончили за упокой (TypeScript).
Да, статья скорее хороша этим комментарием.
Ждем ебилдов.
В свое время пользовался Тест-комплитом, но потом перешел на самостоятельное написание Perl-скриптов с модулем Win32:GUI. Они отлично эмулировали действия пользователя. А для удобства запускал их на виртуальных машинах.
Стедикам в помощь.
Шикарнейшая статья, спасибо!
Да, писали. Хотя я заведомо знаю, что никто меня не брутфорсил и уязвимостями для взлома не пользовался.
Ионы это хорошо, но разве в батарейках не деградируют электроды? На сколько лет работы вживленных электродов хватит?
Применение RAII в моей практике вовсе не затруднительно. Однако опыт показывает, что между «тяжелым» конструктором (RAII) и «легким» (с отложенной инициализацией) лучше выбрать второй.
1. Это означает, что я не смогу показать очень красивый, элегантный и полностью безопасный по отношению к исключениям код, стабильность которого, тем не менее, будет зависеть от фазы луны и случайного содержимого стека.

Обычно это происходит так. Приходит багрепорт: «У половины наших клиентов с вин2003 программа крэшится». Я лично с удовольствием бы писал много нового кода на С++11, однако приходится браться за эту ошибку. Просто потому что у меня больше опыта в отладке подобных проблем. Я вообще три вещи делаю очень хорошо: пишу код на С++, отлаживаю код на С++ и пишу очень красивые configure.ac. Если кто не верит, может зайти в профиль и посчитать мой возраст.

И поскольку я не собираюсь менять род деятельности и кровно заинтересован в экономии своего времени, то настаиваю на своей мысли: RAII не следует использовать для fopen() и подобного.
И действительно, кто такой этот богомерзкий Майкрософт и какое отношение он имеет к языкам программирования и инструментам разработки.
Проблема, видимо, в том, что я трачу свое время на отладку чужого кода.
RAII неплохая идиома, но у нее весьма конкретная сфера применения, и за приведенный код я бы отрывал ноги.
Во-первых, этот код не компилируется в VC2012.
Во-вторых, использование fopen() deprecated.
В-третьих, если я, например, буду искать в этом коде трудноуловимый баг, то я хочу, чтобы каждая функция стояла на отдельной строчке, чтобы я мог поставить брейкпоинт — то есть вместо file_(fopen()) я хочу всегда видеть { file_ = fopen();… }
В-четвертых, пусть код немного другой, исключение происходит после некоторого первого конструктора, но перед инициализацией переменной file_. В деструкторе вызывается fclose(0xCCCCCCCC); и имеем повторное исключение в обработчике.
Комментарий не с целью критики статьи, просто хочу пресечь злоупотребления идиомой.
RAII неплохая идиома, но у нее весьма конкретная сфера применения, и за приведенный код я бы отрывал ноги.

Information

Rating
Does not participate
Location
Катманду, Непал, Непал
Date of birth
Registered
Activity