8 признаков плохого кода
Разбираем признаки плохого кода, которые сигнализируют о необходимости рефакторинга.
20К открытий20К показов
Порой для того, чтобы определить, что перед вами плохой код достаточно одного взгляда на него: форматирование и регистр имён сущностей сразу бросаются в глаза. В этой статье перечислены признаки, которые помогут вам понять, что перед вами действительно плохой код.
Загадочные имена
Одна из основных особенностей плохого кода — стратегия именования сущностей. Если в команде отсутствуют соглашения об именовании, их следует принять. С ростом приложения правильное именование становится критически важным.
Общие принципы именования помогут команде (особенно если в ней есть разработчики разного уровня) находить общий язык и лишний раз не ломать голову в попытках понять\придумать имя для переменной.
Вот принципы которые вы можете использовать:
- Имя должно описывать цель существования переменной:
- Всеми силами избегайте непонимания:
- Имена должны быть произносимыми:
- Имя должно быть удобно искать:
- Стратегия именования должна быть согласованной:
Огромные методы
Слишком большие методы являются источником ошибок и сложны для понимания. Есть правило: функция должна выполнять одну задачу и выполнять её хорошо.
Божественный объект
Так называют огромный класс, который делает слишком много разных вещей. Класс, как и функция, должен иметь одну цель существования. Поэтому божественный объект должен быть разделён на несколько сущностей, каждая из которых имеет только одну задачу.
Дублирующийся код
Идентичный код, который разбросан по всему приложению. Он увеличивает сложность поддержки и тестирования системы. Повторяющиеся куски кода являются признаком того, что вам пора задуматься о рефакторинге.
Избыток параметров
Длинный список параметров усложняет чтение, вызов и тестирование функций. Уменьшение числа параметров позволит вам сократить время на изучение и тестирование кода.
Неуместная сложность
Принудительное использование чрезмерно сложных шаблонов проектирования там, где более простой архитектуры было бы достаточно.
Использование сложных паттернов без необходимости показывает не ваш скилл, а неспособность увидеть картину целиком и избежать излишней сложности.
Хирургия дробовиком
Термин shotgun surgery используется для случая, когда одно изменение в коде влечёт за собой множество других изменений.
Изменяемость переменных
Код, переменные в котором изменяются непредсказуемо, сложно отлаживать и проводить рефакторинг.
20К открытий20К показов