Задать вопрос
SilenceOfWinter
@SilenceOfWinter
та еще зажигалка...

Какие пробелы в моем классе для сравнения значений?

Запилил класс для гибкого сравнения значений. Постарался учесть все случаи для которых не подходит нативное сравнение. Посмотрите пожалуйста - может что-то не учел.
Код класса

По поводу реализации одним классом:
вначале планировал отдельные классы реализующие общий интерфейс для каждого типа/случая и класса-менеджер для управления ими, но в итоге отказался от этого варианта из-за неоправданной сложности реализации.
  • Вопрос задан
  • 123 просмотра
Подписаться 1 Сложный 2 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Stepik
    Язык программирования PHP
    1 неделя
    Далее
Решения вопроса 1
@smple
compare должна не просто говорить равно или не равно, а должна еще сообщать какое число больше или меньше, поэтому возвращать она должна не bool, а больше или меньше, обычно делают возвращаемый тип int (0 если равны и -1 и 1 в случае если одно из чисел больше другова)

как сделать такое сравнение для произвольных массивов ? это спорный вопрос и универсального ответа нет.

как минимум надо предоставить возможность добавления своей логики сравнения различных типов.
например как в паттерне стратегия, добавлять свои способы сравнения, если бы я делал я бы скорей всего в эту сторону делал.

другое мелко улучшение, я бы убрал все публичные методы по изменению класса после создания, оставил бы только один публичный метод это compare, чтобы было видно цель этого класса, а какие то методы бы просто удалил (getFlags например)

ну и в целом такое не особо нужно в php, непонятно зачем это применять, код нормальный, понятный, даже есть тесты.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы