Использование битовых флагов для других целей - PullRequest
1 голос
/ 25 августа 2009

Я противоречу этому. Вот ситуация -

У меня есть куча файлов PDF, поступающих в папку из внешнего приложения (вне моего контроля) на сервере Windows 2003. Эти PDF-файлы в конечном итоге распечатываются моим приложением, просматривая даты в файле (т. Е. "Печатать сегодняшние PDF-файлы"), а затем обычно хранятся в течение месяца или около того перед удалением. Они могут быть напечатаны автоматически или вручную пользователем.

Для удобства для пользователя (данные, на которые мы не воздействуем), я хотел бы показать, какие файлы уже были напечатаны. Это приложение было довольно автономным и очень простым, как мне нравится.

Стоит ли использовать биты файлов (т. Е. Бит архива или что-то в этом роде) для разграничения распечатанных файлов и возможности запуска программы резервного копирования, или увеличить накладные расходы на тестирование / обслуживание приложения, создав источник данных для него (таблица перекрестных ссылок в XML) и ввести еще один «движущийся кусок»?

Ответы [ 3 ]

5 голосов
/ 25 августа 2009

Можно рассмотреть возможность сохранения информации автономной, без неправильного использования флагов, используя NTFS альтернативные потоки данных .

2 голосов
/ 25 августа 2009

Использование файловых битов для этого, вероятно, неправильный подход - такие вещи, как Архив, предназначены для использования системными утилитами, которые могут изменять биты вне вашего контроля.

Вы должны либо вести отдельную запись о том, что было напечатано (в файле или реестре), либо, возможно, перемещать их в отдельные физические папки, чтобы различать их (в то время как ваше приложение может просто представить объединенное представление двух папок пользователь.)

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

1 голос
/ 25 августа 2009

Если бы это был я, я бы не использовал файловые флаги для чего-то, для чего они не предназначены. Какой-то другой процесс может установить флаги вне вашего контроля, и вы не будете знать, что делать. Создайте новый движущийся фрагмент, который будет простым и понятным для другого разработчика, чтобы знать, что происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...