Публикации по теме 'code-smells'
Code Smell 180 — Побитовая оптимизация
Побитовые операторы работают быстрее. Избегайте этих микрооптимизаций
TL;DR: не используйте побитовые операторы, если ваша бизнес-модель не основана на побитовой логике.
Проблемы
Читабельность Сообразительность Преждевременная оптимизация Ремонтопригодность Нарушение биекции
Решения
Улучшить читаемость
Контекст
Некоторые умные программисты решают проблемы, которых у нас нет.
Мы должны оптимизировать код на основе доказательств и использовать научный метод...
Code Smell 136 — Классы только с одним подклассом
Обобщать и предвидеть будущее — это хорошо (опять же).
TL;DR: не обобщайте слишком много
Проблемы
Спекулятивный дизайн Сложность Чрезмерная инженерия
Решения
Удалите абстрактный класс, пока не получите больше примеров
Контекст
В прошлом программисты говорили нам проектировать с учетом изменений.
В настоящее время мы продолжаем следовать научному методу.
Всякий раз, когда мы находим дубликат, мы удаляем его.
Не раньше, чем.
Не с интерфейсами, не с..
Погрузитесь в рефакторинг
#refactoring #code_smells #dive_into_refactoring #Alexander_Shvets
Кодовые запахи:
* Нарушители объектной ориентации *
Операторы Switch
У вас есть сложный оператор switch или последовательность операторов if .
Если switch основан на коде типа, например, при переключении режима выполнения программы, используйте Заменить код типа на подклассы или Заменить код типа на состояние/стратегию .
После указания структуры наследования используйте Полиморфизм ...