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