Разработчик под ником FAM поделилась в блоге восемью признаками, которые могут выдать так называемый smell code. Автор считает, что важно знать о распространенных проблемах и ошибках кода, чтобы распознать их в проекте и быстро нейтрализовать во время рефакторинга.
Если в команде нет договоренностей или принципов именования переменных, следует внести их. По мере роста приложения, принцип нейминга становится решающим. В какой-то момент команде придется говорить «на одном языке», поэтому наличие принципов именования и документации по архитектуру, которые будет уважать каждый разработчик, очень важны.
Принципы нейминга:
Для наглядности можете опираться на следующую схему:
Принципы именования переменных
Слишком большой размер метода, функции или процедуры — это источник ошибок и недопонимания. Считается, что код плохой, если в нем методы/функции имеют размер (в строках по вертикали) больше, чем «x*размер экрана», где х = 0,5..1.
Это антипаттерн объектно-ориентированного программирования, описывающий объект, который хранит в себе слишком много и делает слишком много, препятствуя поддержанию кода проекта.
Класс должен существовать для одной цели, даже когда он становится больше и выполняет множество функций. Затем его следует разбить на подобъекты. Если все соблюсти, можно избежать ошибок, сократить время исследования и упростить процесс тестирования.
Явление, когда последовательность исходного кода встречается более одного раза в программе. Дублирование означает удвоение затрат на поддержку кода и его тестирование. Рефакторинг должен проводиться всякий раз, когда функция, класс, модуль или код в целом должны быть разделены, чтобы избежать дублирования кода.
Длинный список параметров трудночитаем и усложняет вызов и тестирование функции. Упрощение поможет сократить время исследования и упростить тестирование.
Имеется в виду якобы вынужденное использование более сложных шаблонов проектирования, когда достаточно простых. Использование сложных шаблонов показывает невозможность разработчика упрощать код и неспособность видеть общую картину.
Антипаттерн в разработке программного обеспечения, когда специалист добавляет функции в кодовую базу приложения, которые охватывают множество разработчиков или реализаций за одно изменение. Важно понимать, что цель — написать поддерживаемый код, поэтому надо думать о будущем, а не о том, что и как было бы удобно написать сейчас.
Затрудняют рефакторинг кода, поскольку фактические значения непредсказуемы.
Visual Code от Microsoft, вероятно, один из самых популярных редакторов кода. Разработчики любят его за…
Япония сама по себе — сплошной киберпанк. Это заметил даже культовый писатель жанра Уильям Гибсон,…
Сам по себе телефон Айфон 17 Про Макс – отличный подарок. У него красивая заводская…
На фоне роста спроса на ликвидность в бычьем рынке 2025 года, криптозаймы снова выходят на…
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…