Підходи

Дізнайтеся, як писати підходи до вправ


Кожна вправа може мати повʼязані з нею підходи, які описують різні способи її розвʼязання.

Підхід

Підхід має розкривати, як вправу можна розвʼязати певним чином.

  • Його зміст має охоплювати одне з двох:
    • Дослідити ідіоматичний підхід
    • Дослідити неідіоматичний, але цікавий підхід
  • Почніть з (повного) прикладу коду
    • Щедро використовуйте приклади коду в решті документа
  • Сміливо заглиблюйтеся в тему
  • Посилайтеся на корисні ресурси (наприклад, на документацію)
  • Фрагмент має демонструвати суть підходу
    • Можна використати щонайбільше 8 рядків

Якщо потрібно порівняти різні підходи, напишіть статтю.

Огляд підходів

  • Дайте контекст задачі
    • Опишіть важливі моменти (наприклад, пастки), які стосуються усіх підходів
  • Обговоріть найбільш ідіоматичні підходи
  • Кожен підхід має починатися з фрагмента, який ілюструє цей підхід
  • Тримайте виклад на досить загальному рівні
    • Детальна інформація має бути на окремій сторінці підходу
    • Посилайтеся на окрему сторінку підходу, де є докладніша інформація
  • Обговоріть, як обирати між підходами
    • У чому полягають компроміси?
    • Чи пасують деякі підходи краще для конкретних сценаріїв використання?

Загальні міркування

  • У деяких мовах те саме можна записати по-різному. Якщо якийсь із цих синтаксисів зʼявився лише в новіших версіях мови, варто використати «старий» синтаксис. Так студенти мають більше шансів зрозуміти код.
    • Альтернативний синтаксис можна показати в документі підходу
  • Якщо для мови існує рекомендований стайлгайд, дотримуйтеся його настанов (де це можливо)

Для яких вправ писати підходи?

Загалом практичні вправи краще пасують для написання підходів, бо їх зазвичай можна розвʼязати кількома способами.

Що ж до концептуальних вправ, то обговорення зразкового підходу може бути цікавим. Наприклад, можна показати, як концепція, що вивчається, робить певний код простішим для написання.

Файли

Для кожного підходу потрібно додати такі два файли:

Після цього потрібно додати або оновити:

Налаштування розширення фрагмента

Також можна використати власне розширення замість типового .txt, задавши поле approaches.snippet_extension у файлі config.json треку. Якщо його задано, файл фрагмента, який потрібно додати, має називатися .approaches/<approach-slug>/snippet.<approaches.snippet_extension>.