# Резюме красных флагов
Вот некоторые из наиболее важных красных флагов, обсуждаемых в этой книге. Наличие любого из этих симптомов в системе говорит о том, что существует проблема с дизайном системы:
1. Поверхностный модуль: интерфейс для класса или метода не намного проще, чем его реализация (см. стр. 25, 110).
2. Утечка информации: проектное решение отражается в нескольких модулях (см. стр. 31).
3. Временная декомпозиция: структура кода основана на порядке выполнения операций, а не на сокрытии информации (см. стр. 32).
4. Overexposure: API заставляет вызывающих абонентов быть в курсе редко используемых функций, чтобы использовать часто используемые функции (см. стр. 36).
4. Сквозной метод: метод почти ничего не делает, кроме передачи своих аргументов другому методу с аналогичной сигнатурой (см. стр. 46).
5. Повторение: нетривиальный фрагмент кода повторяется снова и снова (см. стр. 62).
6. Специальная-общая смесь: код специального назначения не отделяется полностью от кода общего назначения (см. стр. 65).
7. Объединенные методы: два метода имеют так много зависимостей, что его трудно понять реализацию одного без понимания реализации другого (se " понимание реализации другого (см. стр. 72).
8. Комментарий повторяет код: вся информация в комментарии сразу же становится очевидной из кода рядом с комментарием (см. стр. 104).
9. Документация по реализации загрязняет интерфейс: комментарий к интерфейсу описывает детали реализации, не необходимые пользователям документируемой вещи (см. стр. 114).
10. Расплывчатое имя: имя переменной или метода настолько неточно, что оно не передает много полезной информации (см. стр. 123).
11. Трудно подобрать имя: трудно придумать точное и интуитивно понятное имя для сущности (см. стр. 125).
12. Трудно описать: чтобы быть полным, документация для переменной или метода должна быть длинной. (см. стр. 131).
13. Неочевидный код: поведение или значение части кода не может быть легко понято. (см. стр. 148).