Форум: "Потрепаться";
Текущий архив: 2002.09.09;
Скачать: [xml.tar.bz2];
ВнизБезопасность - 2 Найти похожие ветки
← →
Malder (2002-08-12 23:17) [0]Вот тут была, есть ветка про безопасность. Но, чем больше кода в программе, тем больше потенциальных ошибок, тем код менее безопасен. Вот так.
Ногами не пинать. Спать хочу.
← →
Слесарь Матерящийся (2002-08-12 23:25) [1]Самый безопасный код -- который не выполняется. Unreachable code. :o)
← →
Nikolay (2002-08-12 23:29) [2]Ага, чем больше живешь, тем больше пережил возможностей умереть... :+)
> Ногами не пинать. Спать хочу.
угу будем пинать руками :)
← →
drpass (2002-08-12 23:33) [3]Нет, ты, конечно, можешь допустить какую-нибудь ошибку в обработчике исключения. Но вряд ли это будет хуже, чем в случае, когда это исключение вообще ничем не обрабатывается. Сделать код безопасным - не значит неоправданно его раздувать. Просто нужно выявить в нем потенциально опасные места, и позаботиться о том, чтобы крах в этом участке кода не привел к развалу всей программы.
Таким простым приемом, как, например, освобождение памяти в блоке try... finally, программу не испортишь :)
← →
Юрий Зотов (2002-08-12 23:54) [4]> Malder © (12.08.02 23:17)
В том-то все и дело. Написать безопасное 2+2 сможет каждый, а вот написать что-то посложнее, но тоже безопасное - это уже надо знать и понимать. И еще надо уметь сделать правильные оценки и провести правильную границу между достаточной безопасностью и проверками всего и вся подряд.
А насчет большого кода... Каждый код состоит из блоков (модулей, процедур, методов, обработчиков...) - то есть, из кусочков. Надо уметь свести вероятность ошибки в каждом куске к оптимальному минимуму, да еще и наладить их правильное взаимодействие, когда любая ошибка в любом куске четко проявится в нем же, или в другом месте - но только не останется скрытой.
В том-то весь фокус и есть.
← →
Oleg_Gashev (2002-08-12 23:56) [5]Только не забывайте, что и в exception бывают подводные камни, приводящии к другому исключению.
← →
Anatoly Podgoretsky (2002-08-13 00:01) [6]Структируй программу, приближай блоки к черному ящику и жить будет проще. Вероятность ошибок уменьшится, а находить их будет легче.
← →
vuk (2002-08-13 00:37) [7]>Только не забывайте, что и в exception бывают подводные камни,
>приводящии к другому исключению.
У-у-у... Там расставлены весьма неочевидные такие грабли... Связаны с возможной утечкой памяти в блоке finally. Подробнее здесь: http://www.delphikingdom.com/asp/answer.asp?IDAnswer=10239
← →
Malder (2002-08-13 17:40) [8]Во. Я ж говорил.
← →
vuk (2002-08-13 17:56) [9]>Но, чем больше кода в программе, тем больше потенциальных
>ошибок, тем код менее безопасен.
Выход есть - не писать программ. Совсем. Кто ничего не делает - гарантированно не ошибается. :o)
← →
Игорь Шевченко (2002-08-13 17:59) [10]Однако пишут ведь...Windows вот написали...там кода не много, а очень много. И работает ведь, подлая :-)
← →
kull (2002-08-13 18:36) [11]По законам теории вероятности чем больше кода тем менее надежна система.
т.к. код в большинстве своем выполняется последовательно, то надежности кусков кода перемножаются.
2 куска кода с надежностью 0.95 (т.е. вероятность налажать 5%) упадут с вероятностью 1-(0.95^2) = 0.0975
а вот цепочка из 14 таких же кусков упадет с вероятностью ~50%
Дело не в том чтоб совсем не писать, а просто делать это по возможности проще.
← →
iZEN (2002-08-14 10:20) [12]"Куски" кода лучше делать как асинхронно и параллельно взаимодействующие компоненты через какой-либо протокол обмена, например, очередь сообщений. Вероятность отказа такой системы намного меньше чем "последовательной".
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.09.09;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c