Wolfram
15:41 21-02-2009 Просто
Грубер хорошо пишет в недавней записи (англ.) об окошках с новыми документами в любых приложениях. Нет в наше время никакой причины для того, чтобы данные терялись, если приложение упало или по какой-то причине убито. Сохранять надо все, что пишет (рисует, строит, что угодно) пользователь, в фоновом режиме, каждую минуту (например). Это касается "неназванных" еще документов в той же мере, как и существующих файлов.
Оригинал

Имхо - такой простой метод не катит. По нескольким причинам. Например, если файлы большие. Мне приходится работать с файлами порядка 100-200 метров и если такой файл будет записываться каждую минуту, это поставит под угрозу производительность (ведь при активной записи на винт приложение будет подтормаживать) и свободное дисковое пространство. Именно поэтому при работе с тяжелыми проектами я отлючаю автосохранение. Есть еще один нюанс - представим, что во время такого автосохранения произошел сбой программы, или комп просто выключился. При большом размере файла больше вероятность того, что это произошло на момент сохранения, соответственно, файл будет недописанным и негодным. Есть еще один нюанс - откаты (undo). Вот мы что-то делаем, у нас есть история действий для отмены их. Однако как быть, что сохранять, ведь бывает, что действия отменить уже после сохранения невозможно.

Вывод: нужно делать умную систему сэйвов. И от них очень сильно зависит комфорт работы.
Комментарии:
Гость
12:57 23-02-2009
Хмм... Самое простое решение - "delta-сейвы". Т.е. в бэкграунде сохранять действия, а не их результат. И по желанию пользователя после сбоя "накатывать" на исходный файл.
Гость
20:24 23-02-2009
Про сейвы больших файлов- действительно проблема. Самому сталкиваться с таким не приходилось, но догадываюсь, что это жестоко. Если же говорить, к примеру, про текстовые файлы, то тут автосейв незаменим. Например, в том же vim'е я никогда не отключаю автосейвы. Это спасает и от сбоев компа, и от разрывов связи при работе по ssh.
Что касается "умных" сейвов, тут сложнее. Надо думать, как организовать, как проставить время сохранения. Не будет ли это сложнее реализовать, чем заставить человека запомнить, что надо самому периодически сохраняться?

//cppmm
Wolfram
20:39 23-02-2009
Вот вот. Я бы в максе добавил "умную" функцию, которая после долгого ковыряния над моделью или над расположением объектов сохранялась. Ну или сделал бы систему, которая запоминала, после какого ряда операций человек сейвится. И потом автоматом сейвилась после этих действий. С текстом, действительно просто - там при любом изменении можно сохраняться. А вот, скажем в максе так делать не стоит. Есть еще одна софтина - Z-Brush, так там по-моему до сих пор автосейвы не реализованы, поэтому я на форумах слышу постоянные жалобы по поводу потерянного времени.

А еще у нас в офисе, я время от времени (особенно меня настораживает мигание и секундное потускнение ламп дневного цвета) громко объявляю: "Сэйвимся!". [изображение]
Гость
22:22 23-02-2009
> А еще у нас в офисе, я время от времени (особенно меня настораживает мигание и секундное потускнение ламп дневного цвета) громко объявляю: "Сэйвимся!"

Прямо, как в анекдоте:
Солдат чистит картошку. Рядом стоит прапорщик.
- Товарищ прапорщик, ведь на дворе давно 21-ый век. Наверняка уже придумали картофелечистящую машину. Почему я, как в древние века должен все эти килограммы руками чистить?
- Всё верно, рядовой. Давно придумали чистящую машину. И в нашей части эта машина - ты!
Wolfram
22:26 23-02-2009
Да, чем-то похожая ситуация
А ручки-то - вот они