
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.128] |
![]() |
|
Страницы: (15) « Первая ... 4 5 [6] 7 8 ... 14 15 все ( Перейти к последнему сообщению ) |
![]() |
Сообщ.
#76
,
|
|
Ненормальный. Защищаться от бяк чужого кода надо всегда, и ассерты тут не помогут, если ты не хочешь, чтобы тебя разыскивали с цепками и битами по причине утерянной работы из-за помахавшей ручкой abort(). Наверное ты предпочтёшь, чтобы разыскивали автора чужого кода, не так ли? А защищаться от бяк своего кода гораздо удобнее в чётко тебе известных точках, проверяя чётко тебе известные инварианты.
Добавлено А ты поинтересуйся, сколько там исправлений ошибок Майкрософта, сколько расширений функционала, отсутствовавшего в 2001-ом, и сколько патчей совместимости с говноизделиями Компаний с Большим Именем, которые понапхали в свои говнопродукты килотонны юзов недокументированностей и, в частности ассертами, решили их контролировать. Для примера: поддержка PCIE появилась в SP2, а до этого XP содержала кернельный баг: не поддерживала ещё не существующее железо. |
Сообщ.
#77
,
|
|
|
Qraizer, таки, десктопные оси - это вам не прошивки для спутников писать
![]() |
Сообщ.
#78
,
|
|
|
Цитата Qraizer @ Ненормальный. Защищаться от бяк чужого кода надо всегда, и ассерты тут не помогут, если ты не хочешь, чтобы тебя разыскивали с цепками и битами по причине утерянной работы из-за помахавшей ручкой abort(). Аргумент мимо. Для того, чтобы не потерять утерянную работу, нужно бэкапиться по приемлимому по времени или действиям регламенту. Пример M$ Word. Сколько я его полетов наблюдал ... но ... фсегда есть скрытый файлик типа "~твой досумент.doc", в котором есть все действия, кроме последней нажатой точки, где и был сбой. Цитата Qraizer @ А защищаться от бяк своего кода гораздо удобнее в чётко тебе известных точках, проверяя чётко тебе известные инварианты. Инвариантов НЕ-БЫ-ВА-ЕТ. Тому подтверждение - утилиты memtest, victoria ![]() Цитата Qraizer @ Если ты не хочешь, чтобы тебя разыскивали с цепками и битами по причине утерянной работы из-за помахавшей ручкой abort() ... Наверное ты предпочтёшь, чтобы разыскивали автора чужого кода, не так ли? Щя лирики налью, мама-не-горюй! ![]() ![]() Исправимая ситуация Ты решил сохранить файл по HTTPS. Но прилетел злой дятел и раздолбал маршрутизатор на березе. Все, DNS отвалился, а вторичный DNS еще неотрезольвил IP твоего HTTP-сервера по URI. Ситуация в принципе не из ряда вон. Обрабатывая исключение записи, программа может уведомить после n-попыток о сбое, предложить сохранить файл локально. Все ровно и никто ни за кем не бегает, и тут не место ассерту, и дятел почти неуиновен. Неисправимая ситуация Ты внедрил ноу-хау - систему управления гильотиной на базе Raspberry PI. Регламент простой, после почтения обвинения присяжные на своих АйПадах жмут кнопку "Косяк обвинения", если нажали 51% из числа присяжных - обвиняемый оправдан. Иначе через 37 сек - работает гильотина. И тут ... прилетел дятел! ![]() В результате обвиняемому отрубили дреды за антиобщественное поведение (они оказались вымытыми и ухоженными). Но это не тот чел, который будет гоняться, такие обычно стремные. Представь если кому нить что нить отрубят по ошибке за попытку изнасилования! А вот исследование корки даст профит - стек вызовов... А пинговал ли ты, мил человек, Raspberry PI загодя??? Скрытый текст Хотя ... может и тут дятел неуиновен ![]() Как-то так ![]() |
![]() |
Сообщ.
#79
,
|
|
JoeUser, давай ты просто не будешь пробовать аргументировать свои выводы фактами из областей, о которых ничего не знаешь?
Цитата JoeUser @ Дальше можно было бы не читать. Но я прочёл. Да, можно было бы. Инвариантов НЕ-БЫ-ВА-ЕТ. |
Сообщ.
#80
,
|
|
|
Цитата Qraizer @ Дальше можно было бы не читать. Но я прочёл. Да, можно было бы. ![]() |
Сообщ.
#81
,
|
|
|
Цитата Qraizer @ JoeUser, давай ты просто не будешь пробовать аргументировать свои выводы фактами из областей, о которых ничего не знаешь? Ну тут недосказанность. Если это просьба рядового участника форума - я пожалуй воздержусь от этого "вопроса-совета" и посопротивляюсь. Если это телега модератора о нарушении - хотелось бы подробностей "где и в чем". Ну и собственно больше бы инфы о тех "неведомых мне областях" ... давай на примерах посмотрим. Тока просьба аппелировать к статистике а не к наличию. Добавлено Цитата Qraizer @ Дальше можно было бы не читать. А чего читать. Есть СТАНДАРТ, помолился и норм день прошел. |
![]() |
Сообщ.
#82
,
|
|
JoeUser, что тут апеллировать. Просто всё писанное мимо.
|
Сообщ.
#83
,
|
|
|
Цитата Qraizer @ JoeUser, что тут апеллировать. Просто всё писанное мимо. Ну не знаю как тебе там твое видно. Мне лично так: "я знаю секрет, но не скажу. несогласные - дураки". Ну не хочешь предметно говорить, твое право, как и мое - не верить "мамой клянус, прямоугольник - прямоугольный" ![]() Добавлено Цитата MyNameIsIgor @ ![]() Подхалим ![]() |
Сообщ.
#84
,
|
|
|
Цитата MyNameIsIgor @ Вообще, удивительно. Только плюсовиков надо убеждать использовать исключения. Не видел ещё лозунгов "Даёшь C# без исключений!" Потому, что от стандартных исключений в C++ мало толку. В отличие от. Потому, что исключения таки могут замедлить код в C++. Потому, что в C# нельзя сделать корку и сравнивать им не с чем. И да, конкретно меня убеждать не надо, я использую исключения. Но я не понимаю, почему их должны использовать все и всегда. Пусть люди сами для своих проектов выбирают то, что им подходит(как они думают), они же и будут потом с этим жить. Цитата С этими аасертами та же песня - наследие древнее говна мамонта, но всё равно: в любой непонятной ситуации закхреначь программу ассертом! Ну... А почему нет? Кстати, примеров с assert'ом много в литературе. Даже у Страуструпа с Саттером. Не нравится - не используй. Я вот сейчас не использую. Добавлено Цитата Qraizer @ Ненормальный. Защищаться от бяк чужого кода надо всегда, и ассерты тут не помогут, если ты не хочешь, чтобы тебя разыскивали с цепками и битами по причине утерянной работы из-за помахавшей ручкой abort(). Наверное ты предпочтёшь, чтобы разыскивали автора чужого кода, не так ли? А защищаться от бяк своего кода гораздо удобнее в чётко тебе известных точках, проверяя чётко тебе известные инварианты. Зачем вы пытаетесь найти какие-то общие рецепты? Бывают случаи, когда даже память динамическую в программе бессмысленно освобождать(т.к. единственный эффект от такого "корректного" освобождения заключается в том, что процесс будет дольше завершать свою работу). Задачи бывают разные и рецепты, соответственно, тоже. Добавлено Цитата JoeUser @ Цитата Qraizer @ А защищаться от бяк своего кода гораздо удобнее в чётко тебе известных точках, проверяя чётко тебе известные инварианты. Инвариантов НЕ-БЫ-ВА-ЕТ. Ну это совсем уже... Хотя, как показывает практика собеседований, понятие инвариантов знакомо немногим ![]() |
Сообщ.
#85
,
|
|
|
Цитата D_KEY @ Хотя, как показывает практика собеседований, понятие инвариантов знакомо немногим Давай только не будем о сферических конях в вакууме ![]() Можно напридумывать тучу синтетических условий, систем отсчета, шкальных оценок - это все модели, МОДЕЛИ!!!! которые приближенно отражают реальную картину мира. Мир - иррационален! Двоичная система аппаратной реализации инвариантна? До поры до времени ... до первых сбоев. Дальше - только в расчет берутся плотности вероятностей. Инварианты - это математические фикции, дабы подшлифовать ваши модели, не более. Добавлено Ну и вдогоночку ... о ней самой ... Цитата Переход от обсуждения предмета спора к обсуждению личности (аргумент к личности) Вместо того, чтобы доказывать истинность своих положений и опровергать аргументацию оппонента, демагог может обращаться к приёму ad hominem — критиковать не аргументы, а личность оппонента, пытаясь убедить зрителей, что оппонент — плохой, недостойный, не разбирающийся в вопросе, пристрастный или лицемерный человек. Что может сказать об архитектуре мужчина без прописки? (М. Жванецкий) ![]() |
![]() |
Сообщ.
#86
,
|
|
Цитата JoeUser @ Нет, это всего лишь означает предложение ознакомиться с предметной областью перед продолжением обсуждения инвариантов, высококритичного кода и гарантий отказоустойчивости. Мне лично так: "я знаю секрет, но не скажу. несогласные - дураки". |
Сообщ.
#87
,
|
|
|
Ну если только чел выше уберет свои "справедливейшие замечания", а по факту съезд на личности. А так ... не уберу, ты модер - тебе и рулить, делай как поступаешь правильным. |
![]() |
Сообщ.
#88
,
|
|
Цитата D_KEY @ Мне <stdexcept> хватает, но я и не пишу сейчас что-либо сложнее внутриконторных утилит для внутреннего использования. Хотя "компилятор" не скажу, что простая утилита. Основное назначение <exception> в предоставлении базы, а дальше расширяйте, как удобно.Потому, что от стандартных исключений в C++ мало толку. Цитата D_KEY @ Могут, когда они происходят. longjmp() будет быстрее? Безусловно. Однако как часто ты его встречаешь в программах на C? Так что, ситуации назвали исключительными просто так?Потому, что исключения таки могут замедлить код в C++. Если попробовать заимплементить функционал C++EH самостоятельно, то либо получится то же самое, либо это будет частное решение под конкретную ситуацию. К тому же изобилующее местами, куда влёгкую дотянется человеческий фактор. Цитата D_KEY @ Потому, что это примеры. Так короче и понятнее, чем словами в комментариях. Кстати, примеров с assert'ом много в литературе. Даже у Страуструпа с Саттером. |
Сообщ.
#89
,
|
|
|
У меня завтра уже сегодня. Рули как знаешь. Я не флюгер. Ну а пока не словил банку, отвечу по существу. По поводу "отказоустойчивости". Да, ты прав, этот вопрос я не изучал досконально (хотя вопрос поднят и я его изучу). Краем уха слышал о 12-ти кратности в космонавтике. Простыми словами "12-и кратная, независимая, страховка сводит к обозримому нулю потери". Правда это или треп, сейчас сказать не могу. За что купил - за то продаю. Только к чему это все??? Если дашь линки на "полезное" и "эффективное" применение страховки в программировании - буду благодарен. А пока вижу только мистику и браваду. Напомню, немножко и очень скромно, я никому не верю, вне зависимости лаборант он на кафедре или профессор (пока сам не разберусь). Как говорят киргизы, се ля ви. |
Сообщ.
#90
,
|
|
|
Цитата JoeUser @ Больше похоже на трёп. Подобное резервирование производится только для систем, от которых зависит выживание экипажа. Часто резервирование заменяется на дублирование. То есть функции отказавшей системы берёт на себя другая, для которой функция первой м.б. не входит в число основных.Правда это или треп, сейчас сказать не могу. Ты ведь никогда не слышал, чтобы на каждого космонавта в космос брали по 12 скафандров? |