Доброго дня.
Вийшло нове відео з про патерн програмування Фасад, і як його застосовувати в побудові фреймворку автоматизації.
Патерн достатньо простий в реалізації і розумінні, про нього можна сказати "easy to learn, hard to master".
Я наприклад коли готувався до відео, передивився уважно "фасади" в своїх проектах і помітив щось схоже на антипатерн "Божий об'єкт".
Він не в критичному стані, але клас вже непогано було відправити на рефакторинг.
в якості домашньої роботи
1) Скачайте проект з репзиторієм https://github.com/qa-senpai/test-automation-example
2) Відкрийте клас CoreActions і напишіть ще декілька фасадних методів, наприклад
* pressIntoElement - метод повинен натискати кнопку на клавіатурі в елементі
* clearElement - метод повинен витирати вміст текст-бокс елементів від тексту
3) Подивіться як працює errorHandling
Помилки відео:
на 8:04 - 8:37, я використовую метод errorHandling як асинхронний, насправді в цьому нема ніякої необхідності.
7:10 - я трохи пізніше в репозиторій залью "правильну" імплементацію інтерфейсів, це не те щоб стосувалось конкретного цього відео, але краще буде одразу виправити, щоб погані приклади не брали :)
В об'єктно-орієнтованому програмуванні "Божествений об'єкт" (іноді також називають "всевідомим" або "знаючим все об'єктом") - це об'єкт, який посилається на велику кількість різних типів,
має занадто багато непов'язаних або неуспішно категоризованих методів, або поєднання обох цих аспектів.
Божественний об'єкт є прикладом анти-патерну і "запахом коду".
такий об'єкт стає занадто завантаженим функціями і стає важко підтримувати, розуміти і розвивати.
Код з таким об'єктом може бути незрозумілим, має велику кількість залежностей і не дотримує принципів доброго проектування. Такий підхід у програмуванні вважається небажаним і неефективним.
Post #18
225