PassFront
  1. PassFront
  2. База знаний
  3. Продвинутые темы

Какие стандарты написания кода важны на практике и как их применять?

Продвинутые темы

Стандарты написания кода: соглашения по стилю (airbnb, standard), линтеры (ESLint) и форматтеры (Prettier), гайдлайны команды, TypeScript-конвенции, git-конвенции коммитов. Обеспечивают единообразие и качество.

Основные стандарты

Стайлгайды

Готовые наборы правил стиля:

  • Airbnb JavaScript Style Guide — популярный, строгий.
  • StandardJS, Google — альтернативы.

Определяют именование, структуру, best practices.

Линтеры (ESLint)

Автоматически проверяют соответствие правилам:

// eslint.config.js (flat config)
import js from '@eslint/js';
export default [js.configs.recommended, { rules: { eqeqeq: 'error' } }];

Ловят ошибки, баги, нарушения стиля.

Форматтеры (Prettier)

Автоматическое единообразное форматирование (отступы, кавычки, переносы):

// .prettierrc
{ "semi": true, "singleQuote": true }

TypeScript-конвенции

Типизация, strict-режим, именование типов, избегание any.

Соглашения об именовании

  • camelCase (переменные/функции), PascalCase (компоненты/классы), UPPER_SNAKE (константы).
  • Понятные, описательные имена.

Git-конвенции

  • Conventional Commits (feat:, fix:, docs:) — структурированные сообщения.
  • Именование веток, правила PR.

Архитектурные

  • Структура папок (FSD, feature-based), разделение ответственностей.

Зачем нужны

  • Единообразие — код выглядит одинаково, легче читать.
  • Качество — раннее обнаружение проблем.
  • Командная работа — меньше споров, проще ревью.
  • Автоматизация — линтеры/форматтеры в pre-commit/CI.

Коротко для собеседования

Стандарты кода: стайлгайды (Airbnb, StandardJS), линтеры (ESLint — правила, баги), форматтеры (Prettier — форматирование), TypeScript-конвенции (strict, без any), именование (camelCase/PascalCase), git-конвенции (Conventional Commits), архитектурные (структура папок). Обеспечивают единообразие, качество и упрощают командную работу; автоматизируются в pre-commit/CI.

Другие вопросы раздела