Я поздно решил, что Shape более подходящее название для фигур на английском, но все равно поменял. Пожалуйста, сделайте вид, что директории называтся Shapes и Shapes.Tests.
- Допустим, что библиотека используется для точных вычислений, поэтому используем decimal.
- Базовая абстракция IShape
- Получаем площадь не зная тип фигуры в Compile time.
- Простое добавление новых фигур.
- Используем guard if-statements и выкидываем кастомные exception, которые легко ловить базовым типом ShapeException.
- Фигуры протестированы на эдж-кейсах
Я сначала подавал на другую вакансию, где не было python, поэтому был голый SQL запрос
Вот ссылка на репозиторий с pyspark https://github.com/zar4za/pysparkquery