Skip to content
28 changes: 28 additions & 0 deletions docs/diagnostics/MagicDate.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,31 @@
ХоверБордБудетИзобретен = Неопределено;
КонецЕсли;
```

## Исключения

Магические даты, используемые в структурах и соответствиях, не считаются ошибками, так как они используются в качестве ключей или значений в структурах данных, где контекст понятен:

```bsl
// Операция Вставить структуры - нет ошибки
Структура = Новый Структура;
Структура.Вставить("ДатаНачала", '20250101'); // Нет ошибки
Структура.Вставить("ДатаОкончания", '20251231'); // Нет ошибки
Структура.Вставить("МаксимальнаяДата", '39991231235959'); // Нет ошибки

// Конструктор структуры - нет ошибки
Структура2 = Новый Структура("ДатаНачала, ДатаОкончания", '20250101', '20251231'); // Нет ошибки

// Прямое присваивание свойству структуры - нет ошибки
СтруктураСПолями = Новый Структура("ДатаНачала, ДатаОкончания");
СтруктураСПолями.ДатаНачала = '20250101'; // Нет ошибки
СтруктураСПолями.ДатаОкончания = '20251231'; // Нет ошибки

// Фиксированная структура - нет ошибки
ФиксированнаяСтруктура = Новый ФиксированнаяСтруктура("Значение", '20240101'); // Нет ошибки

// Соответствие - нет ошибки (как ключ, так и значение)
Соответствие = Новый Соответствие;
Соответствие.Вставить("Код", '20230101'); // Нет ошибки
Соответствие.Вставить('19800101', "Олимпиада в Москве"); // Нет ошибки
```
29 changes: 28 additions & 1 deletion docs/diagnostics/MagicNumber.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
Возврат Длительность < 10 * 60 * 60;

КонецФункции
```
```

Хорошо

Expand All @@ -30,3 +30,30 @@

КонецФункции
```

## Исключения

Магические числа, используемые в структурах и соответствиях, не считаются ошибками, так как они используются в качестве ключей или значений в структурах данных, где контекст понятен:

```bsl
// Операция Вставить структуры - нет ошибки
Структура = Новый Структура;
Структура.Вставить("МояПеременная", 20); // Нет ошибки
Структура.Вставить("ДругаяПеременная", 42); // Нет ошибки

// Конструктор структуры - нет ошибки
Структура2 = Новый Структура("Поле1, Поле2", 5, 15); // Нет ошибки

// Прямое присваивание свойству структуры - нет ошибки
СтруктураСПолями = Новый Структура("МояПеременная, ДругоеПоле");
СтруктураСПолями.МояПеременная = 20; // Нет ошибки
СтруктураСПолями.ДругоеПоле = 50; // Нет ошибки

// Фиксированная структура - нет ошибки
ФиксированнаяСтруктура = Новый ФиксированнаяСтруктура("Значение", 200); // Нет ошибки

// Соответствие - нет ошибки (как ключ, так и значение)
Соответствие = Новый Соответствие;
Соответствие.Вставить("Код", 123); // Нет ошибки
Соответствие.Вставить(1980, "Олимпиада в Москве"); // Нет ошибки
```
28 changes: 28 additions & 0 deletions docs/en/diagnostics/MagicDate.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,31 @@ If CurrentDate < DateInventionHover() Then
HoverBoardWillBeInvented = Undefined;
EndIf;
```

## Exceptions

Magic dates used in structures and correspondences are not considered errors, as they are used as keys or values in data structures where the context is clear:

```bsl
// Structure insert - no error
Structure = New Structure;
Structure.Insert("StartDate", '20250101'); // No error
Structure.Insert("EndDate", '20251231'); // No error
Structure.Insert("MaxDate", '39991231235959'); // No error

// Structure constructor - no error
Structure2 = New Structure("StartDate, EndDate", '20250101', '20251231'); // No error

// Direct structure property assignment - no error
StructureWithFields = New Structure("StartDate, EndDate");
StructureWithFields.StartDate = '20250101'; // No error
StructureWithFields.EndDate = '20251231'; // No error

// Fixed structure - no error
FixedStructure = New FixedStructure("Value", '20240101'); // No error

// Correspondence - no error (both key and value)
Correspondence = New Correspondence;
Correspondence.Insert("Code", '20230101'); // No error
Correspondence.Insert('19800101', "Olympics in Moscow"); // No error
```
27 changes: 27 additions & 0 deletions docs/en/diagnostics/MagicNumber.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,30 @@ Function GetsTheInterval (Duration in Seconds)

End Function
```

## Exceptions

Magic numbers used in structures and correspondences are not considered errors, as they are used as keys or values in data structures where the context is clear:

```bsl
// Structure insert - no error
Structure = New Structure;
Structure.Insert("MyVariable", 20); // No error
Structure.Insert("AnotherVariable", 42); // No error

// Structure constructor - no error
Structure2 = New Structure("Field1, Field2", 5, 15); // No error

// Direct structure property assignment - no error
StructureWithFields = New Structure("MyVariable, AnotherField");
StructureWithFields.MyVariable = 20; // No error
StructureWithFields.AnotherField = 50; // No error

// Fixed structure - no error
FixedStructure = New FixedStructure("Value", 200); // No error

// Correspondence - no error (both key and value)
Correspondence = New Correspondence;
Correspondence.Insert("Code", 123); // No error
Correspondence.Insert(1980, "Olympics in Moscow"); // No error
```
Loading
Loading