Skip to content

Latest commit

 

History

History
67 lines (49 loc) · 5.68 KB

js-post-oop.md

File metadata and controls

67 lines (49 loc) · 5.68 KB

MIT Licensed Awesome        Telegram

OOP exercise

Тепер ви знаєте багато про JavaScript OOP. Пам'ятаєте tiny JS world? Час використовувати свою нову силу.

Завдання

  1. Удосконалюйте свій tiny JS world model, яку ви форкнули звідси. Цього разу використовуйте свої улюблені методи JS ООП для збереження принципів DRY and SOLID.

    На цей раз вам не потрібен форк, працюйте з наявним репо. Git зберігає історію для вас.

    Ці матеріали будуть корисні.

Найпоширеніші проблеми для вирішення

  • Якщо класи одного рівня (peer classes/siblings) мають такі самі властивості, то вони повинні бути узагальнені в їхньому базовому (батьківському) класі
  • Класи для видів, які не мають рук за природним задумом - не мають рук або будь-якої еквівалентної властивості і не успадковують такі властивості від жодного з базових/батьківських класів
  • Властивості класу, які є частинами рядка презентації об’єкта, перераховуються/вказуються явно (i.e. Object методи values, keys, entires або такі конструкції for (key in obj) не використовуються)
  • Конструктор рядків презентації об’єкта є методом класу, а не незалежною функцією
  • Конструктор класу визначається іменованими параметрами
  • Клас не призначає і не змінює властивість, що належить будь-якому іншому класу (визначена в будь-якому іншому класі)
  • Дочірній клас не повинен безпосередньо використовувати успадковану властивість для створення рядка презентації об’єкта
  • Код є OOP, SOLID (eng, rus) та DRY compliant
  • Застряг або щось не зовсім зрозуміло? Задайте питання

Перевірка коду та завершення виконання завдання

  1. Для цього завдання вам знадобиться review коду:
    • Для студентів курсу Frontend 2022: будь ласка, дотримуйтесь цих інструкцій
    • Для студентів p2p course: будь ласка, дотримуйтесь цих інструкцій
    • Зауважте, що особливо це завдання вимагає від вас подання один файл (index.js лише) до frontend-2022-homeworks або frontend-2019-p2p репозиторію для перевірки коду.
  2. Чудова робота! Якщо ваш PR вже продивились ментори, узгодили та вмерджили (його статус змінено на merged з фіолетовою іконкою), то прийшов час ділитись своїми досягненнями з іншими – опублікуйте повідомлення в course channel: OOP Exercise — #done (або OOP Exercise — #p2p_done якщо ви студент курсу p2p) і додайте посилання до свого репо. Цей крок важливий, оскільки він допомагає наставникам відстежувати ваш прогрес!
  3. Прочитайте одну-дві статті про ООП за посиланнями в цьому репо

Додаткові матеріали

Fun Fun Function - Composition over Inhertance

Готово?

➡️ Ідіть далі Offline Web Applications

⤴️ Повернутися до Contents