- Случайная сложность (Accidental complexity). Введение ненужной сложности в систему
- Действие на расстояние (Action at a Distance). Неожиданное взаимодействие сильно разделенными частями системы
- Слепая вера (Blind faith). Отсутствие проверки правильности исправления ошибки или результата возвращаемого процедурой
- Корабельный якорь (Boat anchor). Сохранение части системы, которая не используется
- Занятый волчек (Busy spin). Использование времени процессора в процессе ожидания некоторого события. Обычно это повторяется в постоянной циклической проверке вместо использования сообщений.
- Ошибка кеширования (Caching failure). Забывание сбросить флаг ошибки, когда ошибка обработана
- Культ грузового программирования (Cargo cult programming). Использование шаблонов и методов без понимая зачем
- Кодирование исключениями (Coding by exception). Добавление нового кода для обработки каждого особого случая, как только он найден
- Сокрытие ошибок (Error hiding). Перехват ошибок преждем чем они будут показаны пользователю. Перехваченые ошибки либо не показываются пользователю, либо отображаются бессмысленные сообщения
- Обработка исключений (Exception handing). Использование системы обработки исключений для реализации программной логики
- Жесткий код (Hard code). Встраивание предположение об окружении системы в ее реализации
- Поток лавы (Lava flow). Поддерживание нежелательного (избыточного или низкокачественного) кода потому, что удаление его либо слишком дорого, либо имеет непредсказуемые последствия
- Последовательность циклов и переключателей (Loop-switch sequence). Кодирование набора последовательных шагов используя цикл с набором переключателей
- Волшебные числа (Magic numbers). Включение необъяснимых чисел в алгоритмы
- Волшебные строки (Magic strings). Включение строковых литералов в код для сравнения, как типы событий и т.д.
- Мягкий код (Soft code). Хранение бизнес логики в конфигурационном файле вместо хранения в исходном коде
- Спагетти-код (Spaghetti code). Система чья структура едва понятна, особенно из-за неправильной структуры кода
Анти-паттерны программирования
Подписаться на:
Комментарии к сообщению (Atom)
Обо мне
Теги
- .NET (1)
- Лицензии (1)
- Anti-Patterns (16)
- ASP.NET (3)
- Bug fixes (1)
- C# (5)
- Code Review (4)
- Fun (1)
- Naming (1)
- Refactoring (20)
- Team rules (2)
- Web (2)
Архив
-
▼
2009
(22)
-
▼
мая
(18)
- Зачем нужен enum из двух объектов, если есть булев...
- Привязка к производителю
- Грибное управление
- Моральный риск
- Прячьте приведение типов внутрь метода!
- Бог-громовержец
- Эскалация обязательств
- Коллективное проектирование
- Дойная корова
- Паралич от анализа
- Методологические aнти-паттерны
- Анти-паттерны программирования
- Объектно-ориентированные анти-паттерны
- Анти-паттерны проектирования программного обеспечения
- Анти-паттерны анализа
- Анти-паттерны управления
- Организационные анти-паттерны
- Введение в анти-паттерны
-
▼
мая
(18)
0 коммент.:
Отправить комментарий