Сохранение настроек
От: Mamut Швеция http://dmitriid.com
Дата: 02.01.06 14:56
Оценка:
Имхо, это в "Философию". Если что не так, отфутбольте, куда надо

У меня вопрос. Чем обуславливается сохранение настроек не при нажатии OK в соответствующем диалоге, а при выходе из программы?

У меня тут комп вылетел... Winamp, Photoshop, Dreamweaver, RSDN@Home, Windows Explorer — во всех сбросились те настройки, что я изменил в промежутке между запуском программы и вылетанием компьютера.

При этом, скажем Shareaza и BSPlayer и ухои не повели. Изменил — так изменил.

В чем глубинный философский смысл такой свиньи?
... << RSDN@Home 1.2.0 alpha rev. 619>>

11.01.06 21:05: Перенесено из 'Философия программирования'


dmitriid.comGitHubLinkedIn
Re: Сохранение настроек
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.01.06 15:16
Оценка: 24 (3) +1
Здравствуйте, Mamut, Вы писали:

M>У меня вопрос. Чем обуславливается сохранение настроек не при нажатии OK в соответствующем диалоге, а при выходе из программы?


Сохранением инварианта программы. Ведь вылет программы может быть связан именно с этим. И если настройки запомнить сразу, а не после того как будет понятно, что приложение не вылетело, то приложение может начать вылетать при запуске.

Так что это правильно. Не правильно то, что многие приложения не имеют возможности сохранить состояние вручную. Например, мне очень нравится как это сделано в Total comander.
... << RSDN@Home 1.2.0 alpha rev. 620>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Сохранение настроек
От: Mamut Швеция http://dmitriid.com
Дата: 02.01.06 15:47
Оценка: +1
VD>Сохранением инфарианта программы. Ведь вылет программы может быть связан именно с этим. И если настройки запомнить сразу, а не после того как будет понятно, что приложение не вылетело, то приложение может начать вылетать при запуске.

Ага, есть такое. Правда, не помню, когда в последний раз сталкивался с тем, чтобы изменение нестроек убивало программу.

На самом деле, раздражает, наверное, то, что все же есть настройки, которые не должны провоцировать вылет программы — "always on top" в Винампе, единицы измерения в Фотошопе, history в Internet Explorer'e, позиция в форуме в RSDN@Home , расположение тулбаров в MS Word'e... А не сохраняются

VD>Так что это правильно. Не правильно то, что многие приложения не имеют возможности сохранить состояние вручную. Например, мне очень нравится как это сделано в Total comander.


А как? А то я им не пользуюсь...
... << RSDN@Home 1.2.0 alpha rev. 619>>


dmitriid.comGitHubLinkedIn
Re[3]: Сохранение настроек
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.01.06 16:02
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Ага, есть такое. Правда, не помню, когда в последний раз сталкивался с тем, чтобы изменение нестроек убивало программу.


Видимо потму-что большинство из них сохраняет настройки при выходе.

M>На самом деле, раздражает, наверное, то, что все же есть настройки, которые не должны провоцировать вылет программы — "always on top" в Винампе, единицы измерения в Фотошопе, history в Internet Explorer'e, позиция в форуме в RSDN@Home , расположение тулбаров в MS Word'e... А не сохраняются


Согласен, иногда кое-что раздражает.

VD>>Так что это правильно. Не правильно то, что многие приложения не имеют возможности сохранить состояние вручную. Например, мне очень нравится как это сделано в Total comander.


M>А как? А то я им не пользуюсь...


Менюшка есть. Выбирашь пунктик "Сохранить настройки" и они тот час же сохраняются.
... << RSDN@Home 1.2.0 alpha rev. 620>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Сохранение настроек
От: adontz Грузия http://adontz.wordpress.com/
Дата: 02.01.06 22:21
Оценка: 17 (2) +7
Здравствуйте, VladD2, Вы писали:

VD>Сохранением инфарианта программы. Ведь вылет программы может быть связан именно с этим. И если настройки запомнить сразу, а не после того как будет понятно, что приложение не вылетело, то приложение может начать вылетать при запуске.

VD>Так что это правильно. Не правильно то, что многие приложения не имеют возможности сохранить состояние вручную. Например, мне очень нравится как это сделано в Total comander.

Неправда ваша. Действительно хорошо сделанные программы сохраняют настройки при нажатии кнопки OK, а при запуске после сбоя предлагают использовать предыдущие настройки или настройки по умолчанию. Примеры: Unreal Tournament, Windows Media Player, Microsoft Windows XP
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[2]: Сохранение настроек
От: Шахтер Интернет  
Дата: 05.01.06 16:35
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Mamut, Вы писали:


M>>У меня вопрос. Чем обуславливается сохранение настроек не при нажатии OK в соответствующем диалоге, а при выходе из программы?


VD>Сохранением инварианта программы. Ведь вылет программы может быть связан именно с этим. И если настройки запомнить сразу, а не после того как будет понятно, что приложение не вылетело, то приложение может начать вылетать при запуске.


Инвариант программы -- это что? Вылетит -- не вылетит?
А типа проверять корректность настроек -- это индусы запрограммировать считают ниже своего достоинства?
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[3]: Сохранение настроек
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.01.06 17:55
Оценка:
Здравствуйте, Шахтер, Вы писали:

Ш>Инвариант программы -- это что? Вылетит -- не вылетит?

Ш>А типа проверять корректность настроек -- это индусы запрограммировать считают ниже своего достоинства?

Я лично сужу так. Если они в состоянии, то программа не вилетит и настройки один фиг сохранятся. А если вылетит, то хотя бы я не получу вылет при загрузке.

Хотя конечно бывают случаи когда можно обойтись отдельным тестирвоанием. Ну, как в играх при переключении видео-режимов.
... << RSDN@Home 1.2.0 alpha rev. 620>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Сохранение настроек
От: Кодт Россия  
Дата: 10.01.06 12:38
Оценка:
Здравствуйте, Шахтер, Вы писали:

Ш>А типа проверять корректность настроек -- это индусы запрограммировать считают ниже своего достоинства?


Например, достаточно в браузере указать домашнюю страницу, которая его убивает. Причём не лазать в настройки, а просто подтвердить действие скрипта на убийственной странице.
Перекуём баги на фичи!
Re[4]: Сохранение настроек
От: Кодт Россия  
Дата: 10.01.06 12:41
Оценка:
Ш>>А типа проверять корректность настроек -- это индусы запрограммировать считают ниже своего достоинства?

К>Например, достаточно в браузере указать домашнюю страницу, которая его убивает. Причём не лазать в настройки, а просто подтвердить действие скрипта на убийственной странице.


Или ещё вариант, менее трагичный: увеличить разрешение экрана (или включить второй экран) и угнать главное окно программы туда. Затем вернуть разрешение обратно...
Без эбонитовой палочки — попробуй сделай окно видимым.
Перекуём баги на фичи!
Re[5]: Сохранение настроек
От: Шахтер Интернет  
Дата: 10.01.06 12:51
Оценка:
Здравствуйте, Кодт, Вы писали:

Ш>>>А типа проверять корректность настроек -- это индусы запрограммировать считают ниже своего достоинства?


К>>Например, достаточно в браузере указать домашнюю страницу, которая его убивает. Причём не лазать в настройки, а просто подтвердить действие скрипта на убийственной странице.


К>Или ещё вариант, менее трагичный: увеличить разрешение экрана (или включить второй экран) и угнать главное окно программы туда. Затем вернуть разрешение обратно...

К>Без эбонитовой палочки — попробуй сделай окно видимым.

А при старте программы проверять местоположение окна и репозиционировать его если что?
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[4]: Сохранение настроек
От: Шахтер Интернет  
Дата: 10.01.06 12:55
Оценка: +2
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, Шахтер, Вы писали:


Ш>>А типа проверять корректность настроек -- это индусы запрограммировать считают ниже своего достоинства?


К>Например, достаточно в браузере указать домашнюю страницу, которая его убивает.


В подобных ситуациях стоит предусмотреть механизм восстановления после фатальной ошибки.
Типа last good settings.
Вообще, undo бывает полезно не только в текстовых редакторах.
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[5]: Сохранение настроек
От: Mamut Швеция http://dmitriid.com
Дата: 11.01.06 15:33
Оценка:
Ш>>>А типа проверять корректность настроек -- это индусы запрограммировать считают ниже своего достоинства?

К>>Например, достаточно в браузере указать домашнюю страницу, которая его убивает. Причём не лазать в настройки, а просто подтвердить действие скрипта на убийственной странице.


К>Или ещё вариант, менее трагичный: увеличить разрешение экрана (или включить второй экран) и угнать главное окно программы туда. Затем вернуть разрешение обратно...

К>Без эбонитовой палочки — попробуй сделай окно видимым.

Хых. В винде есть глюк, работает почти для всех окон. Я, правда, последовательность действий не помню По-моему, три раза подряд минимизировать/восстановить окно программы через трей... В общем, не помню. Результат — основное окно испытуемой программы уходит на координаты, примерно -1000, -1000 или что-то вроде Если бы не комбинация Alt+Space — Move, я бы давно повесился...
... << RSDN@Home 1.2.0 alpha rev. 619>>


dmitriid.comGitHubLinkedIn
Re: Сохранение настроек
От: wildwind Россия  
Дата: 11.01.06 18:24
Оценка:
Здравствуйте, Mamut, Вы писали:

M>У меня тут комп вылетел... Winamp, Photoshop, Dreamweaver, RSDN@Home, Windows Explorer — во всех сбросились те настройки, что я изменил в промежутке между запуском программы и вылетанием компьютера.

M>При этом, скажем Shareaza и BSPlayer и ухои не повели. Изменил — так изменил.
M>В чем глубинный философский смысл такой свиньи?

Я думаю, дело в том, что Winamp, Photoshop и др. сохраняют свои настройки в реестре (после "Ok"), а Shareaza и BSPlayer — в файлах; или тоже в реестре, но с требованием немедленной записи на диск.

Какой подход лучше — неочевидно. По мне так нет смысла постоянно шуршать диском, как в времена DOS. А система должна работать стабильно. Разработчику же, у которого вероятность сбоя высока, наверное надо где-то подкрутить политику кэширования реестра.
Re[4]: Сохранение настроек
От: Аноним  
Дата: 12.01.06 06:45
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Например, достаточно в браузере указать домашнюю страницу, которая его убивает. Причём не лазать в настройки, а просто подтвердить действие скрипта на убийственной странице.


Так можно открыть опции через Control Panel -> Internet Options и поменять.
Re[5]: Сохранение настроек
От: Кодт Россия  
Дата: 12.01.06 10:21
Оценка:
Здравствуйте, Аноним, Вы писали:

К>>Например, достаточно в браузере указать домашнюю страницу, которая его убивает. Причём не лазать в настройки, а просто подтвердить действие скрипта на убийственной странице.


А>Так можно открыть опции через Control Panel -> Internet Options и поменять.


Это для IE. Как насчёт FF или Opera?
Перекуём баги на фичи!
Re[2]: Сохранение настроек
От: Mamut Швеция http://dmitriid.com
Дата: 12.01.06 10:32
Оценка:
W>Какой подход лучше — неочевидно. По мне так нет смысла постоянно шуршать диском, как в времена DOS. А система должна работать стабильно. Разработчику же, у которого вероятность сбоя высока, наверное надо где-то подкрутить политику кэширования реестра.

Насколько я понимаю, МС сейчас пропагандирует хранение настроек в XML-файлах возле приложения
... << RSDN@Home 1.2.0 alpha rev. 619>>


dmitriid.comGitHubLinkedIn
Re[3]: Сохранение настроек
От: Кодт Россия  
Дата: 12.01.06 11:18
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Насколько я понимаю, МС сейчас пропагандирует хранение настроек в XML-файлах возле приложения


Что, прямо в program files?
И как это вяжется с разделением прав пользователей?
Перекуём баги на фичи!
Re[4]: Сохранение настроек
От: Mamut Швеция http://dmitriid.com
Дата: 12.01.06 11:52
Оценка:
M>>Насколько я понимаю, МС сейчас пропагандирует хранение настроек в XML-файлах возле приложения

К>Что, прямо в program files?

К>И как это вяжется с разделением прав пользователей?

А фиг его знает. Может и в Documents and Settings — но вот за сохранение данных в Documents and Settings я бы тоже .. хм.. расстреливал. После того, как сэйвы Need For Speed оказались в Documents and Settings -> Application Data

Вообще-то здесь уже другой вопрос по юзабилити. Система не предоставляет унифицированного универсального способа сохранения и восстановления настроек и данных — каждый изголяется, как только может.
... << RSDN@Home 1.2.0 alpha rev. 619>>


dmitriid.comGitHubLinkedIn
Re[5]: Сохранение настроек
От: wildwind Россия  
Дата: 12.01.06 11:58
Оценка: +1
Здравствуйте, Mamut, Вы писали:

M>А фиг его знает. Может и в Documents and Settings — но вот за сохранение данных в Documents and Settings я бы тоже .. хм.. расстреливал. После того, как сэйвы Need For Speed оказались в Documents and Settings -> Application Data


Это почему?

M>Вообще-то здесь уже другой вопрос по юзабилити. Система не предоставляет унифицированного универсального способа сохранения и восстановления настроек и данных — каждый изголяется, как только может.


Новсем наоборот — и предоставляет, и в MSDN четко расписано что и куда сохранять. Изгаляются те, кто не читает доку.
Re[6]: Сохранение настроек
От: Кодт Россия  
Дата: 12.01.06 12:29
Оценка: +2 :)
Здравствуйте, wildwind, Вы писали:

M>>Вообще-то здесь уже другой вопрос по юзабилити. Система не предоставляет унифицированного универсального способа сохранения и восстановления настроек и данных — каждый изголяется, как только может.


W>Новсем наоборот — и предоставляет, и в MSDN четко расписано что и куда сохранять. Изгаляются те, кто не читает доку.


Ага. В каждой ОС они чётко расписывают, что и куда сохранять. По-новому.
Перекуём баги на фичи!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.