khipster
@khipster

Стоит ли в программировании учитывать возможность экстренного обрыва выполнения сценария (например выключение электричества, поломки компьютера)?

Например на JavaScript в localStorage сохраняются два свойства A и B, причем важно чтобы они оба были сохранены.
localStorage.a = 'hello world';
// --------- Экстренный обрыв выполнения сценария! --------
localStorage.b = 'hello world';
Или вероятность подобных событий крайне мала и ими следует пренебречь дабы не усложнять код?
  • Вопрос задан
  • 332 просмотра
Пригласить эксперта
Ответы на вопрос 2
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Смотря насколько это критично. Если пользователь в результате потеряет деньги или два часа труда или не сможет зайти в свой аккаунт — надо думать, как обеспечить целостность при чтении в таких случаях.
Параноить и заморачиваться нужно в меру.
Ответ написан
Комментировать
arusef
@arusef
Novice .NET dev
Проблема в том, что выход железа из строя невозможно определить программно. Не запишется какой-то код в errno и не будет никаких исключений, поэтому так запросто свой код не обезопасить.
К программному обеспечению должны быть установлены какие-то требования, которые описывают его безопасность и отказоустойчивость. Вполне возможно не вся программа должна обладать такими характеристиками, а только её какая-то критическая часть. В таком случае, необходимо обеспечивать критически важные модули/участки дополнительными средствами, сохранением состояния, выполнением запросов в транзакциях и т.д.
В твоём случае добиться этого не так-то просто, потому что отказ во время создания бекапа всё равно приведёт к полному, тотальному и бесповоротному...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы