Re: Как рекурсивно обойти директории?
От: samius Япония http://sams-tricks.blogspot.com
Дата: 24.12.18 13:13
Оценка: +6
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>Я совершенно не удовлетворён вот этим решением:

ЭФ>https://rosettacode.org/wiki/Walk_a_directory/Recursively#C.23
Если честно, я тоже.

ЭФ>Если бы дело было на собеседовании, кандидат бы не прошел, потому что:

ЭФ>- не обеспечивается индикация прогресса (прогнозируемое время и проделанная доля работы)
А за счет чего оценивать прогнозируемое время? Дополнительным проходом?

ЭФ>- не обеспечивается возможность прерывания процесса

В любой момент прерывается из вышестоящего цикла.

ЭФ>- обработка файлов не проводится параллельно

Никто не мешает обрабатывать файлы параллельно (для чего это делать?). Тут они лишь перебираются. И замечательно, что перебираются не параллельно. Взаимодействие с файловой системой не заточено для параллельной работы с каталогами.
В остальных примерах тоже не видно параллельной обработки. Зачем она нужна в примерах?

ЭФ>Везде рекламируется, что преимущество async/await в отличие от BackgroundWorker

ЭФ>в том, что их можно использовать рекурсивно.
Причем тут обход директорий?

ЭФ>Ну вот, это и нужно продемонстрировать.

Нужно было продемонстрировать рекурсивный обход.
Постановка задачи вполне однозначна "Walk a given directory tree and print files matching a given pattern.".
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.