Fuck-u-code — когда твой код настолько плох, что этому посвятили целый инструмент
Знакомо ли вам чувство, когда открываешь старый проект и понимаешь: "Боже, кто это писал?" — а потом с ужасом вспоминаешь, что это были вы? Если да, то fuck-u-code создан специально для вас. Это не просто ещё один статический анализатор кода, а инструмент с характером, который скажет вам правду — пусть даже и в грубой форме.
Что это за зверь такой?
Fuck-u-code — это инструмент командной строки, написанный на Go, который оценивает ваш код по семи параметрам:
- Сложность (чем больше вложенных if-ов, тем хуже)
- Длина функций (методы на 200 строк — это не норма)
- Наличие комментариев (или их вопиющее отсутствие)
- Обработка ошибок (игнорирование ошибок — любимое занятие многих)
- Имена переменных (a, b, c — не считается за нейминг)
- Повторяемость кода (CTRL+C, CTRL+V — не метод разработки)
- Общая структура проекта (когда всё свалено в одну папку — это не архитектура)
После анализа инструмент выдаст вам "счётник дерьмовости" от 0 до 100 — чем выше, тем печальнее ситуация.
Почему это может быть полезно?
- Для личных проектов: иногда нужно трезво оценить качество своего кода без розовых очков
- При приеме на работу: можно проверить код кандидата (если он даст доступ)
- Для рефакторинга: инструмент покажет самые проблемные места, на которые стоит обратить внимание в первую очередь
- Для командной работы: когда нужно мягко намекнуть коллеге, что его код требует доработки (ноутбуком по голове бить не надо)
Как это работает?
Установить инструмент можно тремя способами:
# Способ 1: через Go
go install github.com/Done-0/fuck-u-code/cmd/fuck-u-code@latest
# Способ 2: из исходников
git clone https://github.com/Done-0/fuck-u-code.git
cd fuck-u-code && go build -o fuck-u-code ./cmd/fuck-u-code
# Способ 3: через Docker
docker build -t fuck-u-code .
После установки запускаем анализ:
# Анализируем текущую директорию
fuck-u-code analyze
# Или конкретный проект
fuck-u-code /path/to/your/project
Что можно настроить?
Инструмент предлагает различные опции для гибкости:
--verbose— показать подробный отчёт (приготовьтесь к жёсткой критике)--top N— показать только топ-N самых "грязных" файлов--markdown— экспорт отчёта в Markdown (удобно для документации)--exclude— исключить определённые папки (например, node_modules)
Пример использования
Допустим, у вас есть проект на JavaScript, и вы хотите проверить его качество, исключая тестовые файлы:
fuck-u-code analyze --top 5 --exclude "**/test/**" --markdown > code-review.md
В результате вы получите markdown-файл с красивым (или не очень) отчётом, который можно:
- Прикрепить к задаче в Jira/YouTrack
- Отправить коллеге как "пищу для размышлений"
- Использовать как чеклист для рефакторинга
Что внутри отчёта?
Отчёт включает:
- Общую оценку проекта (тот самый "счётник дерьмовости")
- Разбивку по каждому из 7 критериев
- Конкретные примеры проблемного кода
- Рекомендации по улучшению (иногда с намёком на сарказм)
Кому стоит попробовать?
- Разработчикам, уставшим от "всё ок" в код-ревью
- Тимлидам, которые хотят объективно оценить качество кода в проекте
- Любопытным студентам, желающим проверить свои первые проекты
- Мазохистам, готовым услышать горькую правду о своём коде
Fuck-u-code — это инструмент с характером. Он не будет вас жалеть, но именно за это его и стоит попробовать. Бонус: работает локально, не отправляет ваш код на сервера (так что ваши тайны останутся при вас).
Попробуйте запустить его на своём проекте — возможно, вы увидите то, что давно старались не замечать. А если ваш код получил 100/100 — поздравляю, у вас есть чёткий план для рефакторинга!
