Skip to content

xpyctumo/ozon

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Милые пёсики

У нас есть программа для загрузки картинок собак.
На вход подается порода собаки. Функция находит одну случайную картинку этой собаки и загружает её на Я.Диск. Если у породы есть подпороды, то для каждой подпороды загружается по одной картинки. Например, для doberman будет одна картинка, а для spaniel 7 картинок по одной на каждую породу.

Задание:

Для этой программы уже написан тест. Нужно перечислить 10 основных проблем в коде.
Все найденные проблемы нужно отранжировать по критичности.

Задание со звёздочкой:

Переписать код, так как Вы считаете нужным, исправив все проблемы.

===

Основные проблемы в коде:

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 100.0%