Источник Что такое антипаттерны?
Антипаттерны описывают распространённые ошибки или индикаторы проблем в коде. Они также известны как «запахи кода».
Цель этих руководств — документировать потенциальные антипаттерны, встречающиеся в программном обеспечении Elixir, и обучить разработчиков распознавать их и связанные с ними недостатки. Если существующий фрагмент кода соответствует антипаттерну, это не означает, что ваш код нужно переписывать. Иногда, даже если фрагмент соответствует потенциальному антипаттерну и его ограничениям, это может быть лучшим подходом к решению конкретной задачи. Ни одна база кода не свободна от антипаттернов, и не следует стремиться удалить их все.
Антипаттерны в этих руководствах разделены на 4 основные категории:
Антипаттерны, связанные с кодом: связанные с вашим кодом и специфическими языковыми идиомами и функциями;
Антипаттерны, связанные с проектированием: связанные с вашими модулями, функциями и их ролью в базе кода;
Антипаттерны, связанные с процессами: связанные с процессами и основанными на процессах абстракциями;
Антипаттерны метапрограммирования: связанные с метапрограммированием.
Каждый антипаттерн документируется с использованием следующей структуры:
Имя: Уникальный идентификатор антипаттерна. Это имя важно для облегчения коммуникации между разработчиками;
Проблема: Как антипаттерн может навредить качеству кода и какие последствия это может иметь для разработчиков;
Пример: Код и текстовые описания для иллюстрации возникновения антипаттерна;
Рефакторинг: Способы изменения кода для повышения его качества. Приводятся примеры переработанного кода для иллюстрации этих изменений.
Может быть предоставлен дополнительный раздел с «Дополнительными замечаниями». Они могут включать известные сценарии, в которых антипаттерн не применим.
Начальный каталог антипаттернов был предложен Лукасом Веги и Марко Тулио Валенте из ASERG/DCC/UFMG. Для получения дополнительной информации см. Понимание запахов кода в функциональном языке Elixir и соответствующий репозиторий кода.
Кроме того, Рабочая группа по безопасности Фонда экосистемы Erlang публикует документы с ресурсами по безопасности и лучшими практиками как Erlang, так и Elixir, включая подробные руководства для веб-приложений.
© 2012-2024 The Elixir Team
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/elixir/1.18.1/what-anti-patterns.html