СкиллКачество кода

code-writing

TDD-цикл разработки: план -> тесты -> код -> ревью. Сначала пишем тесты (RED), потом код (GREEN), потом рефакторим.

Закинь в Claude, Cursor или любой AI

Описание

Простым языком

Попросил Claude написать код — а он придумал функции которых нет, или подключил библиотеки которые не установлены. Этот скилл учит Claude писать код аккуратно: проверять каждую деталь перед тем как писать.

Раньше код падал и нужно было разбираться почему. Теперь Claude сначала смотрит что уже есть в проекте, потом пишет — и код работает с первого раза.


Что делает

Скилл code-writing — стандарты написания кода для всех проектов: именование, размеры функций и файлов, типизация TypeScript, паттерны избегания дублирования. Claude применяет их автоматически при написании любого кода.

Включает anti-mirage check: перед написанием Claude проверяет, что все импорты, функции и переменные окружения существуют. Галлюцинации исключены.


Когда использовать

  • Пишешь новый модуль или компонент
  • Рефакторишь существующий код
  • Ревьюишь pull request
  • Хочешь убедиться, что код соответствует стандартам
  • Генерируешь boilerplate (хендлеры, сервисы, утилиты)

Как работает — пошагово

  1. Claude читает связанные файлы перед написанием кода
  2. Грепает usages изменяемых функций — кто их использует?
  3. Проверяет наличие похожего кода — не пишет с нуля если есть переиспользуемое
  4. Пишет код по стандартам: DRY, KISS, YAGNI, функции <50 строк
  5. Выполняет anti-mirage check: все импорты реальны, env vars в .env.example
  6. При необходимости разбивает файлы >500 строк на модули

Стандарты кода

// ✅ Хорошо: русские имена, типизация, JSDoc
/**
 * Получает пользователя по Telegram ID
 * @param телеграмId — числовой ID пользователя
 */
async function получитьПользователяПоTg(
  телеграмId: number
): Promise<Пользователь | null> {
  return db.user.findUnique({
    where: { telegramId: телеграмId },
  })
}

// ❌ Плохо: any, magic numbers, нет типов
function getUser(id: any) {
  return db.query(`SELECT * FROM users WHERE id = ${id} LIMIT 10`)
}

Anti-mirage чеклист

После написания каждого блока кода Claude молча проверяет:

  • Импорты — каждый import ссылается на существующий файл
  • Функции — каждая вызываемая функция существует в импортируемом модуле
  • Env vars — каждая process.env.VAR есть в .env.example
  • Зависимости — каждый пакет указан в package.json

Автоматизация

Хук автоформатирования срабатывает после каждого Write/Edit:

// .claude/settings.json
{
  "hooks": {
    "PostToolUse": [{
      "matcher": "Write|Edit",
      "hooks": [{
        "type": "command",
        "command": "npx prettier --write $FILE 2>/dev/null || true"
      }]
    }]
  }
}

Частые вопросы

Нужно ли всегда писать на русском?

Да, для этого проекта: переменные, комментарии, docstrings — на русском. Исключение: технические термины (API, URL, JWT), внешние библиотеки и их методы.

Как Claude узнаёт о стандартах?

Из CLAUDE.md проекта и глобальных правил в ~/.claude/CLAUDE.md. Чем подробнее описаны правила — тем лучше соблюдаются.

#Skills#TDD#Claude Code#Quality Gates
TG

> Пока нет комментариев

Связанный контент

Похожие инструменты