У нас есть программа для загрузки картинок собак.
На вход подается порода собаки. Функция находит одну случайную картинку этой собаки и загружает её на Я.Диск.
Если у породы есть подпороды, то для каждой подпороды загружается по одной картинки.
Например, для doberman будет одна картинка, а для spaniel 7 картинок по одной на каждую породу.
Для этой программы уже написан тест. Нужно перечислить 10 основных проблем в коде.
Все найденные проблемы нужно отранжировать по критичности.
Переписать код, так как Вы считаете нужным, исправив все проблемы.
===
- axios использует промисы, но нигде нет обработки ошибок с помощью .catch(). Может привести к некорректной работе.
- Нет await для асинхронных вызовов: есть фукнкции, которые зависят от других, но они могут выполняться далее некорректно.
- Функция
fetchUrls
дублируется и вызывается несколько раз подряд. Дублирование кода, и лишняя нагрузка на сеть. - Захардкожен токен для Яндекс.Диск. Должно передаваться в переменных окружения.
- Проблема в порядке загрузки изображений.
- Некорректно создаётся папка в Яндекс.Диск. Нет проверки, создана ли папка. Нет очистки. Все тесты должны быть "чистом" и изолированном окружении.
- Отсутствует проверка валидации сохранения файлов через url. Яндекс.Диск загружает файлы асинхронно, по этому мы должны локально убедиться в том, что файлы были сохранены, прежде, чем проводить проверки.
- Неиспользуемые переменные в
t()
. Функцияt()
вызываетu()
, но не использует результат. Помимо этого нейминг функций довольно нечитаемый, непредсказуемый. - Отсутствует JS Doc
- В проверке отсутствует жесткая валидация. Исходных файлов может быть больше, чем загруженных и наоборот.