🐱 Кот Айван
PascalCase
Все идентификаторы в 1С пишутся в PascalCase — каждое слово с заглавной буквы.
✅ Правильно
ИмяКлиента
МассивТоваров
ТекущаяДата
СуммаЗаказа
НомерДокумента
❌ Неправильно
имяКлиента // camelCase
массив_товаров // snake_case
ТЕКУЩАЯДАТА // UPPERCASE
Суммазаказа // Нет разделения слов
API методы
Публичные методы библиотек A1sCode используют английские глаголы.
Стандартный словарь
| Глагол | Назначение | Пример |
|---|---|---|
Of |
Создание из параметров | A1sAR.Of(1, 2, 3) |
On |
Fluent-обёртка | A1sVT.On(Таблица) |
Fill |
Заполнение | A1sAR.Fill(Массив, 0) |
Pick |
Выбрать поля | A1sDS.Pick(Стр, "Ключ") |
Omit |
Исключить поля | A1sDS.Omit(Стр, "Секрет") |
Filter |
Фильтрация | A1sAR.Filter(Массив, "v > 0") |
Sort |
Сортировка | A1sVT.Sort(Таблица, "Дата") |
Map |
Преобразование | A1sAR.Map(Массив, "v * 2") |
Merge |
Слияние | A1sDS.Merge(Стр1, Стр2) |
Union |
Объединение множеств | A1sAR.Union(М1, М2) |
Почему английский? Это индустриальный стандарт.
Filter понятен всем, кто знает JavaScript, Python, C#.
ОтфильтроватьМассивПоУсловию — только для русскоязычных.
Переменные
Переменные называй существительными на русском языке.
Правила
- Осмысленное имя, отражающее содержимое
- Без венгерской нотации (без префиксов типа)
- Коллекции — во множественном числе
✅ Хорошо
ТекущийПользователь
СписокТоваров
МассивОшибок
СуммаДокумента
ДатаНачала
НомерСтроки
❌ Плохо
Данные // Что за данные?
Врем1 // Непонятно
стрИмя // Венгерская нотация
arrItems // Английский
X // Однобуквенные
Исключения
Однобуквенные имена допустимы:
i,j,k— индексы в циклахv— текущий элемент в Filter/Map выражениях
Булевы значения
Булевы переменные и функции называй предикативно — как утверждение, на которое можно ответить "да" или "нет".
Паттерны
| Паттерн | Пример |
|---|---|
Это... |
ЭтоНовыйДокумент |
Есть... |
ЕстьОшибки |
Можно... |
МожноРедактировать |
Нужно... |
НужноОбновить |
...Заполнен |
ДоговорЗаполнен |
...Активен |
ПользовательАктивен |
✅ Хорошо
ДокументПроведен
ЕстьПраваНаЗапись
НужноПересчитать
ЭтоГрупповаяОбработка
МожноУдалить
❌ Плохо
Флаг // Флаг чего?
Режим // Не булево по смыслу
ПроверкаДаты // Это процесс, не булево
СтатусАктивности // Многозначно
Модули
Библиотеки A1sCode следуют единому паттерну именования.
Структура
| Компонент | Паттерн | Пример |
|---|---|---|
| Общий модуль | A1s + Аббревиатура |
A1sAR, A1sDS |
| Обработка (Fluent) | A1sDP_ + Аббревиатура |
A1sDP_AR, A1sDP_VT |
Аббревиатуры модулей
AR — ArraysDS — Data StructuresVT — Value TablesVL — Value ListsQ — QueryJ — JSONX — XMLS — StringsLog — LoggingWeb — HTTPAI — AI/LLMШпаргалка
Переменные
ИмяКлиента — PascalCase, русский, существительное
Булевы
ДокументЗаполнен — предикатив, утверждение
API методы
Of, Filter, Sort — английские глаголы
Модули
A1sAR / A1sDP_AR — префикс + аббревиатура