architect/standards/6-naming/README.md

type: index
aspect: naming
title: "Именование — Как называть"
version: 1.0.0
date: 2026-02-19


Именование — Как называть

Стандарты именования файлов, проектов, переменных, баз данных и терминов.


СОДЕРЖАНИЕ

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

Документ Описание Статус
naming-files.md Именование файлов: [aspect]-[object]-[detail].md ✅ Active
naming-projects.md Именование проектов: lowercase + дефисы ✅ Active
naming-variables.md Переменные в коде: snake_case, camelCase, PascalCase ✅ Active
naming-database.md Таблицы и БД: префиксы app/sol/prj/usr ✅ Active

Специализированные

Документ Описание Статус
naming-code-imports.md Именование импортов в коде ✅ Active
naming-terminology.md Канонический словарь терминов ✅ Active

НАЗНАЧЕНИЕ

Именование отвечает на вопрос "КАК НАЗВАТЬ?"

Этот аспект определяет:
- Как назвать файл
- Как назвать проект
- Как назвать переменную
- Как назвать таблицу БД
- Какой термин использовать


ИЕРАРХИЯ ИМЕНОВАНИЯ

WORKSPACE
     (naming-projects.md)
ПРОЕКТ: lowercase + дефисы
     (naming-files.md)
ФАЙЛ: [aspect]-[object]-[detail].md
     (naming-variables.md)
ПЕРЕМЕННАЯ: snake_case / camelCase
     (naming-database.md)
ТАБЛИЦА: {prefix}_{entity}

ПРИНЦИПЫ

1. Единообразие

Одинаковый формат для одинаковых сущностей.

# Проекты
pirotehnika/
lideravto/
ideal-shop/

# Файлы стандартов
structure-project.md
format-document.md
naming-files.md

# Переменные Python
user_name
order_count
is_active

2. Понятность

Имя должно объяснять назначение.

# ✅ Хорошо
calculate_total_price()
user_authentication_service
MAX_RETRY_ATTEMPTS

# ❌ Плохо
calc()
service
MAX

3. Соглашения языка/платформы

Следовать стандартам языка:

Язык Переменные Функции Классы Константы
Python snake_case snake_case PascalCase UPPER_SNAKE_CASE
JavaScript camelCase camelCase PascalCase UPPER_SNAKE_CASE
Bash snake_case snake_case UPPER_SNAKE_CASE

4. Краткость vs Ясность

Баланс между коротким и понятным.

# Слишком коротко
u = get_u()
calc()

# Слишком длинно
user_authentication_service_client_connection_manager = Manager()
calculate_the_total_price_including_tax_and_shipping()

# В самый раз
user = get_user()
calculate_total()

БЫСТРЫЙ СТАРТ

Именую файл

  1. Определить аспект: structure, format, naming, etc.
  2. Определить объект: project, document, variable, etc.
  3. Собрать имя: [aspect]-[object]-[detail].md

Пример:

Стандарт структуры проекта
→ aspect: structure
→ object: project
→ файл: structure-project.md

Подробнее: naming-files.md

Именую проект

  1. Транслитерация: Русское → латиница
  2. Lowercase: Все строчные
  3. Дефисы: Для разделения слов

Пример:

"Пиротехника" → pirotehnika
"Лидер Авто" → lideravto
"Идеальный Магазин" → ideal-shop

Подробнее: naming-projects.md

Именую переменную

  1. Определить язык: Python, JavaScript, Bash
  2. Применить конвенцию:
    - Python: snake_case
    - JavaScript: camelCase
    - Bash: snake_case

Пример:

# Python
user_name = "Alice"
order_count = 5

# JavaScript
const userName = "Alice";
const orderCount = 5;

# Bash
user_name="Alice"
order_count=5

Подробнее: naming-variables.md

Именую таблицу БД

  1. Определить префикс: app/sol/prj/usr
  2. Собрать имя: {prefix}_{entity}

Пример:

Таблица продуктов в приложении
→ prefix: app
→ entity: products
→ таблица: app_products

Таблица пользователей (глобальная)
→ prefix: usr
→ entity: users
→ таблица: usr_users

Подробнее: naming-database.md


СВЯЗАННЫЕ АСПЕКТЫ

Аспект Документ Связь
Типология typology-project-types.md ЧТО называем (тип сущности)
Структура structure-project.md ГДЕ размещаем (структура папок)
Формат format-document.md КАК выглядит (формат файла)
Процессы process-development.md КОГДА применяем (при создании)

ПРИМЕНЕНИЕ

Создание нового стандарта

  1. Определить аспект: 7-typology/
  2. Применить именование: naming-files.md
  3. Создать файл: {aspect}-{object}-{detail}.md
  4. Применить формат: format-document.md

Создание нового проекта

  1. Транслитерация: naming-projects.md
  2. Создать папку: projects/org/{name}/
  3. Применить структуру: structure-project.md

Написание кода

  1. Определить язык: Python/JavaScript/Bash
  2. Применить конвенции: naming-variables.md
  3. Следовать стилю: format-code.md

ИНСТРУМЕНТЫ

Валидация имён

# Проверка имён файлов
find . -name "*.md" | grep -v "^[a-z-]*\.md$"

# Проверка имён переменных Python
pylint --disable=all --enable=invalid-name *.py

# Проверка имён переменных JavaScript
eslint --rule 'camelcase: error' *.js

Линтеры

Язык Инструмент Команда
Python pylint pylint *.py
JavaScript ESLint eslint *.js
Bash ShellCheck shellcheck *.sh
Markdown markdownlint markdownlint *.md

СТАТИСТИКА

Файлов в 6-naming/: 7 (6 стандартов + 1 README)

Охват:
- ✅ Файлы (naming-files.md)
- ✅ Проекты (naming-projects.md)
- ✅ Переменные (naming-variables.md)
- ✅ Базы данных (naming-database.md)
- ✅ Импорты (naming-code-imports.md)
- ✅ Терминология (naming-terminology.md)

Статус: ФАЗА 4 завершена ✅


МИГРАЦИЯ

Переименование файлов

Старый формат → Новый формат:

# Было
PROJECT.md
DATABASE_NAMING.md
CODE_LIBRARY.md

# Стало
typology-project-types.md
naming-database.md
structure-library.md

Скрипт миграции: architect/tools/rename-by-standard.sh

Рефакторинг кода

Автоматическое переименование:

# Python
black .                    # Форматирование
ruff check --fix .         # Исправление ошибок

# JavaScript
prettier --write .         # Форматирование
eslint --fix .             # Исправление ошибок

CHANGELOG

2026-02-19 — v1.0.0


Версия: 1.0.0
Дата: 2026-02-19
Владелец: architect