Skip to content

Стиль кода и линтеры

Принцип

Код читается чаще, чем пишется. Единый стиль снижает когнитивную нагрузку при ревью и упрощает онбординг.

Go

Стиль

  • Следуем Effective Go и Go Code Review Comments
  • Максимальная длина строки: 120 символов
  • Именование: camelCase для приватных, PascalCase для публичных

Линтеры

yaml
# .golangci.yml
linters:
  enable:
    - errcheck
    - govet
    - staticcheck
    - unused
    - gosimple
    - ineffassign
    - revive
    - gocritic
    - gofumpt

TypeScript / JavaScript

Стиль

  • ESLint + Prettier
  • Strict TypeScript ("strict": true)
  • Предпочитаем const > let, избегаем var

Конфигурация

json
{
  "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended", "prettier"],
  "rules": {
    "no-console": "warn",
    "no-unused-vars": "error"
  }
}

Swift

Стиль

  • Следуем Swift API Design Guidelines
  • SwiftLint для автоматической проверки
  • SwiftFormat для форматирования

Kotlin

Стиль

  • Следуем Kotlin Coding Conventions
  • ktlint для проверки стиля
  • detekt для статического анализа

Общие правила

  1. Линтер запускается в CI — PR не мержится с ошибками линтера
  2. Форматирование автоматизировано — pre-commit hooks или IDE настройки
  3. Не отключай правила линтера без обоснования в комментарии
  4. Новый код = строгие правила. Легаси-код мигрируем постепенно