Стиль именования
Базовые правила
- Функции/процедуры: 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 |
Пример: функция с алиасом
// <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.