Любой, кому нравится, чтобы их папка «Документы» содержала только то, что они там размещают, знает, что стандартная папка «Документы» совершенно не подходит для этой задачи. Кажется, что каждая программа хочет поместить свои настройки, данные или что-то одинаково не относящееся к папке « Документы », несмотря на то, что есть папки специально для этой работы 1 .
Чтобы это не звучало пусто, возьмите мою личную папку «Документы» в качестве примера. Я никогда не когда - либо использовать его, в том , что я никогда, ни при каких обстоятельствах, сохранить что - либо в эту папку сам. И все же он содержит 46 папок и 3 файла на верхнем уровне, всего 800 файлов в 500 папках. Это 190 МБ «документов», которые я не создавал. Очевидно, что любые настоящие документы немедленно потерялись бы в этом беспорядке.
Мой вопрос : можно ли что-нибудь сделать, чтобы улучшить ситуацию настолько, чтобы «Документы» снова стали полезными, скажем, в течение следующих 5 лет? Могут ли программисты быть как-то образованными в массовом порядке, чтобы не использовать их в качестве свалки? Может ли ОС начать сообщать о каком-то «поддельном» месте, скрытом под AppData, через существующие API, при этом только обозревателю и различным диалоговым окнам открытия / сохранения можно узнать, где находится «настоящая» папка «Документы»? Или любые попытки совершенно бесполезны или даже не нужны?
1 Для записи, вот краткий обзор различных стандартных каталогов , которые должны быть использованы вместо «Документы»:
RoamingAppData
для пользовательских данных и настроек. Это каталог использовать для конкретных пользователей без временных данных. Все размещенное здесь будет доступно на любом компьютере , на котором данный пользователь входит в сети, где это настроено. Не размещайте большие файлы здесь, потому что они замедляют вход / выход из системы в таких средах.LocalAppData
для пользовательских и машинных данных и настроек. Эти данные различаются для каждого пользователя и каждой машины. Это также место, где должны быть размещены очень большие пользовательские данные.ProgramData
для машинных данных и настроек. Они одинаковы независимо от того, какой пользователь вошел в систему, и не будут перемещаться на другие машины в сети.GetTempPath
для всех файлов, которые могут быть стерты без потери данных, когда они не используются. Это также место для таких вещей , как кэшей , так как временные данные, кэш не нужно быть подкреплены. Разместите здесь свой огромный кеш, и вы избавите своего пользователя от проблем с резервным копированием.
«Документы» сами должны только когда - либо будет использоваться , если пользователь указал вручную, введя путь или выбрав его в диалоговом окне сохранения. Это единственный раз, когда уместно сохранять вещи в «Документах».