Перейти к содержанию

При создании объекта типа Структура не рекомендуется передавать в конструктор более 3-х значений свойств

Требования, предъявляемые данным стандартом к Структурам, направлены на повышение читаемости кода и упрощение внесения изменений в код разными авторами (разработчиками) как при коллективной разработке, так и при доработке прикладных решений на конкретных внедрениях. Повышение читаемости кода в свою очередь ведет к уменьшению допускаемых при разработке ошибок и повышает качество прикладного решения.

При создании объекта типа Структура не рекомендуется передавать в конструктор более 3-х значений свойств. Вместо этого рекомендуется использовать метод Вставить или присваивать значения свойствам явным образом

Неправильно:

ПараметрыФормыКомпоновки  = Новый Структура(
   "НеПомещатьНастройкиВСхемуКомпоновкиДанных,
   |НеРедактироватьСхемуКомпоновкиДанных,
   |НеНастраиватьУсловноеОформление,
   |НеНастраиватьВыбор,
   |НеНастраиватьПорядок,
   |АдресСхемыКомпоновкиДанных,
   |АдресНастроекКомпоновкиДанных,
   |УникальныйИдентификатор,
   |Заголовок",
   Истина,
   Истина,
   Истина,
   Истина,
   Истина,
   ТекущиеДанные.АдресСхемыКомпоновкиДанных,
   ?(АдресНастроекСхемыКомпоновкиДанных <> Неопределено,
        АдресНастроекСхемыКомпоновкиДанных,
        ТекущиеДанные.АдресНастроекСхемыКомпоновкиДанных),
   УникальныйИдентификатор,
   ЗаголовокФормыНастройкиСхемыКомпоновкиДанных));

Правильно:

ПараметрыФормыКомпоновки  = Новый Структура;
ПараметрыФормыКомпоновки.Вставить("НеПомещатьНастройкиВСхемуКомпоновкиДанных", Истина);
ПараметрыФормыКомпоновки.Вставить("НеРедактироватьСхемуКомпоновкиДанных", Истина);
ПараметрыФормыКомпоновки.Вставить("НеРедактироватьСхемуКомпоновкиДанных", Истина);
ПараметрыФормыКомпоновки.Вставить("НеНастраиватьВыбор", Истина);
ПараметрыФормыКомпоновки.Вставить("НеНастраиватьПорядок", Истина);
ПараметрыФормыКомпоновки.Вставить("АдресСхемыКомпоновкиДанных", ТекущиеДанные.АдресСхемыКомпоновкиДанных);
ПараметрыФормыКомпоновки.Вставить("АдресНастроекКомпоновкиДанных", ?(АдресНастроекСхемыКомпоновкиДанных <> Неопределено,
                                                                     АдресНастроекСхемыКомпоновкиДанных,
                                                                     ТекущиеДанные.АдресНастроекСхемыКомпоновкиДанных));
ПараметрыФормыКомпоновки.Вставить("УникальныйИдентификатор ", УникальныйИдентификатор);
ПараметрыФормыКомпоновки.Вставить("Заголовок", ЗаголовокФормыНастройкиСхемыКомпоновкиДанных);

Экранирование кода

// sonar:StructureConstructorParameters:off
// sonar:StructureConstructorParameters:on