Базовые правила
- Функции/процедуры: 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.