Недавно в сабреддите C# разгорелась дискуссия вокруг предупреждения компилятора CA1859: «Используйте конкретные типы, когда это возможно, для улучшения производительности». Это подняло вечный вопрос: стоит ли жертвовать абстракцией ради скорости?
⚙️ Аргументы за использование конкретных типов:
— Конкретные типы позволяют избежать накладных расходов, связанных с виртуальными вызовами и аллокациями.
— Внутренние методы, использующие конкретные типы, могут быть проще и эффективнее, так как они не требуют обработки различных реализаций интерфейсов.
🧩 Аргументы в пользу абстракций:
— Использование интерфейсов, таких как
IEnumerable или IDictionary, позволяет методам работать с различными реализациями, повышая переиспользуемость кода.— Абстракции облегчают написание модульных тестов, позволяя подменять зависимости мок-объектами.
💬 А что выбирает вы? Гибкость или быструю работу? Пишите свои мысли в комментарии👇
🐸Библиотека шарписта #междусобойчик
