OldPilot
@OldPilot
инженегр

Провалил тестовое задание DrWeb. В чем косяк?

В DrWeb дали тест:
На Python реализовать программу, осуществляющую копирование файлов в соответствии с конфигурационным файлом. Конфигурационный файл должен иметь формат xml. Для каждого файла в конфигурационном файле должно быть указано его имя, исходный путь и путь, по которому файл требуется скопировать.


Предлагаю решение:
https://github.com/swkonstr/drweb_test_python/comm...

Ответ:
К сожалению, в настоящее время мы не можем сделать Вам предложение.


Вот чешу репу и думаю, что не понравилось.

upd.
HR Анна, и тех. спецы из DrWeb, не пожалели времени и ответили конкретно по пунктам, за что им огромное спасибо.
Список косяков:
1. Большой try..except на весь код, скрывающий возможные проблемы (в любом случае выведется "Can't open configuration file.", независимо от того, что произошло)
2. Вообще любовь к безусловным try..except с теми же проблемами, что и в п. 1
3. Жестко заданный путь к конфигурационному файлу
4. Нет стандартной для питона проверки if __name__ == "__main__"
5. Не проверяется наличие всех необходимых элементов в xml
6. Не обрабатывается ситуация, когда файл с таким именем уже есть в целевой директории
  • Вопрос задан
  • 2048 просмотров
Решения вопроса 2
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Главное, ваша программа не выполняет именно главного - копирования! move - перемещение.
shutil.move(input_path+name, output_path+name)
Надо или shutil.copy или shutil.copy2
Ответ написан
@User23
except:
при таком синтаксисе пропустит любую ошибку, например ошибку синтаксиса и даже ctrl+c, правильно указывать исключения, например так
except: KeyError
что бы не экранировать лучше использовать "сырые строки"
например print(r'\|\|\//?')
Код нужно разбить хотя бы на функции, а не все в одну кучу
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
OldPilot
@OldPilot Автор вопроса
инженегр
Со сниппетом согласен. А вот с
выдранный откуда-то кусок кода, самостоятельно не работающий

категорически не согласен.
1. Не выдран. Написан за 2 часа неспешного изучения офф. доков.
2. Какие тесты с Вашей точки зрения тут должны присутствовать?
3. Самостоятельно, это без установки Python-a? В задании не было указания сделать stand-alone версию. У меня работает как в Sublime, так и под WinPython. (v3.6)
4. Не укажете на "грубые ошибки"? Мое понимание PEP8, SublimePythonIDE плагин и примеры на docs.python.org говорят об обратном.
5. А не будет ли наглостью попросить Вас показать, как должен выглядеть ответ не Juniora, а матерого программиста?

В любом случае спасибо за уделенное мне время.
:)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы