Стиль кода и линтеры
Принцип
Код читается чаще, чем пишется. Единый стиль снижает когнитивную нагрузку при ревью и упрощает онбординг.
Go
Стиль
- Следуем Effective Go и Go Code Review Comments
- Максимальная длина строки: 120 символов
- Именование:
camelCaseдля приватных,PascalCaseдля публичных
Линтеры
yaml
# .golangci.yml
linters:
enable:
- errcheck
- govet
- staticcheck
- unused
- gosimple
- ineffassign
- revive
- gocritic
- gofumptTypeScript / 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 для статического анализа
Общие правила
- Линтер запускается в CI — PR не мержится с ошибками линтера
- Форматирование автоматизировано — pre-commit hooks или IDE настройки
- Не отключай правила линтера без обоснования в комментарии
- Новый код = строгие правила. Легаси-код мигрируем постепенно