Это всего лишь мое видение решение такого тестового
Напишите библиотеку для поставки внешним клиентам, которая умеет вычислять площадь круга по радиусу и треугольника по трем сторонам.
- Легкость добавления других фигур
- Вычисление площади фигуры без знания типа фигуры
- Проверку на то, является ли треугольник прямоугольным
- Создаем базовый класс Figure от которого будут наследоваться все фигуры
- Сразу уточняем, что данный класс ничего не знает о сторонах фигур, так как у окружности нет сторон, он круглый you know? Поэтому базовый класс знает тольк о параметрах фигуры, по которым можно вычислить площадь фигуры, периметр/длину окружности
- Так же создан интерфейс Calculatable, который описывает функции для вычисления площади, периметра/длины окружности и т.д. по тем параметрам, которые дали фигуре
- Видно что от класса Figure можно уноследовать различные фигуры, так как в нем нет конкретики => добавляем хоть что. Я добавил квадрат 🤷♀️
- В файле example.ts находится пример использования библиотеки. Видно что вся реализация скрыта от разработчика/пользователя или еще кого-то, но при этому библиотекой можно легко пользоваться и из вне добавить собственную фигуру, новую
- Метод для проверки "прямоугольный ли треугольник" вынесел в отдельный метод-util, так как фигура НЕ ЗНАЕТ треугольник ли она вообще, поэтому пусть это проверяет что-то внешнее.
- Установить на комп NodeJS
- Выполнить команду
sh start.sh
Ready!