Застарілі файли

Є банер про застарілі файли? Ось що варто знати.


Note

Якщо після переходу на v3 ми бачимо таке в Elixir або Elm, найімовірніше, ці треки змінили структуру своїх файлів. Про те, як упоратися з цією зміною, читайте в розділах унизу цього документа.

Що таке застарілі файли?

Коли ми працюємо в онлайн-редакторі Exercism, іноді можемо натрапити на попередження про застарілі файли. Це попередження може виникати з двох причин.

Файли, помилково завантажені через CLI

Через CLI ми можемо завантажити будь-які файли, які виберемо. Однак онлайн-редактор дозволяє редагувати лише ті файли, про які він знає. Тож якщо ми завантажимо файл, про який редактор не знає, він не дасть його редагувати й покаже попередження на випадок, якщо ми захочемо його видалити.

Файли, що виникли через зміни у вправах

Іноді структура вправ змінюється. Файли можуть отримати нові назви, або ж може змінитися вся структура вправи. Ми намагаємося цього уникати, але іноді це просто прагматично правильне рішення. Наприклад, трек може змінити свою систему збірки, як це зробив Elixir, перейшовши з файлів exs на файли ex. Або може змінитися звична структура каталогів у межах мови, як сталося в Elm, коли все перемістили в підкаталоги.

У таких випадках ми не можемо автоматично перенести файли, тож частину роботи доведеться зробити вручну. У редакторі ми побачимо старі файли рішення (з позначкою «застаріле») і заготовку нового файлу рішення. Скопіюймо свою роботу зі старого файлу в новий і підправмо код, який потрібно змінити. Коли тести проходять, можна видалити старий файл рішення й забути про все це 🙂

Видалення застарілих файлів

Коли ми видаляємо застарілий файл, це не впливає на попередні ітерації. Цей файл усе ще існуватиме в тих ітераціях. Видалення файлу просто прибирає його з наступної ітерації, яку ми надсилаємо через редактор.

Зміни в структурах треків

Elixir

У липні 2019 року Elixir змінив структуру своїх вправ: замість скриптів Elixir (файлів *.exs) кожна вправа стала повним проєктом Mix. Щоб скористатися можливостями v3, скопіюймо своє рішення у файл-заготовку за шляхом lib/<exercise_stub>.ex. Переносити файл тестів не потрібно, оновлена версія вже буде на своєму місці.

Elm

Із запуском v3 Elm змінив свої вправи.