К основному содержанию
A1sCode
Быстрый старт
Стандарты A1sCode · Имена как часть контракта

Стиль именования

Правила для функций, параметров, модулей, регионов, префиксов и суффиксов.

единый контракт1 примера кодаBSL / 1С

Базовые правила

  • Функции/процедуры: PascalCase, глагол в начале: ReadText, ToJSON, Самотест.
  • Параметры/локальные: camelCase на EN или осмысленный RU: filePath, ПутьКФайлу.
  • Константы/перечисления: PascalCase: LogLevel, элементы — PascalCase: LogLevel.Info.
  • Модули A1s*: префикс A1s + буква домена: A1sS(String/Screen), A1sX(XML), A1sJ(JSON).
  • RU/EN-алиасы: допускаются короткие русские оболочки к экспортным методам (ВСтроку, ИзСтроки) при сохранении EN-оригинала.
  • Именование регионов: Module_Map (карта), далее A1sX_ToXML, A1sX_FromXML, A1sX_Aliases, A1sX_SelfTest.

Анти-примеры и исправления

Плохо Почему Хорошо
Do непонятное назначение ReadText / ParseJSON / SumPositive
proc_read_text snake_case и префикс лишние ReadText
a,b,c без смысла filePath, encoding, buffer

Пример: функция с алиасом

Пример: функция с алиасомнаведите на цветной токен, чтобы увидеть его рольSTANDARD
// <doc>
 //   <summary>Преобразует значение в JSON-строку</summary>   ✦
 //   <param i="1" name="Value" type="Variant">Любое значение</param>   ➤
 //   <returns>String — JSON</returns>   ⬅
 // </doc>

Функция ToJSON(Value) Экспорт   //⚙
    // ... реализация
    Возврат "{}";   //↩
КонецФункции

// Русский алиас для удобства
Функция ВСтрокуJSON(Значение) Экспорт   //⚙
    Возврат ToJSON(Значение);   //↩
КонецФункции

Префиксы и суффиксы

  • Get*/Set* — доступ к свойствам/настройкам: GetLogLevel().
  • Try*/Ensure* — операции с защитой: TryParseNumber, EnsureDirectory.
  • *OrDefault — безопасные чтения: GetValueOrDefault.