Skip to content

Commit

Permalink
Уменьшение когнитовности функции Разделить
Browse files Browse the repository at this point in the history
  • Loading branch information
pallid committed Dec 3, 2019
1 parent 36f0eaa commit 4c6329a
Showing 1 changed file with 27 additions and 18 deletions.
45 changes: 27 additions & 18 deletions src/Модули/CamelCase.os
Original file line number Diff line number Diff line change
Expand Up @@ -70,19 +70,34 @@
Для Индекс = 0 По Частицы.Количество()-1 Цикл
Если Индекс >= Частицы.Количество()-1 Тогда
Прервать;
КонецЕсли;
Если ЭтоСимволВерхнегоРегистра(Частицы[Индекс][0]) И ЭтоСимволНижнегоРегистра(Частицы[Индекс+1][0]) Тогда
Значение = Частицы[Индекс][Частицы[Индекс].Количество()-1];
МассивПеребора = Новый Массив;
МассивПеребора.Добавить(Значение);
Для Каждого Стр из Частицы[Индекс+1] Цикл
МассивПеребора.Добавить(Стр);
КонецЦикла;
Частицы[Индекс+1] = МассивПеребора;
Частицы[Индекс].Удалить(Частицы[Индекс].Количество()-1);
КонецЕсли;
КонецЕсли;
ОбработкатьПоследовательностьОтВерхнегоРегистраКНижнему(Частицы, Индекс);
КонецЦикла;

Результат = СобратьМассивСтрокИзРезультатов(Частицы);
Возврат Результат;

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

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

// Пример: "PDFД", "окумент" в "PDF", "Документ"
Процедура ОбработкатьПоследовательностьОтВерхнегоРегистраКНижнему(Частицы, Индекс)
Если ЭтоСимволВерхнегоРегистра(Частицы[Индекс][0]) И ЭтоСимволНижнегоРегистра(Частицы[Индекс+1][0]) Тогда
Значение = Частицы[Индекс][Частицы[Индекс].Количество()-1];
МассивПеребора = Новый Массив;
МассивПеребора.Добавить(Значение);
Для Каждого Стр из Частицы[Индекс+1] Цикл
МассивПеребора.Добавить(Стр);
КонецЦикла;
Частицы[Индекс+1] = МассивПеребора;
Частицы[Индекс].Удалить(Частицы[Индекс].Количество()-1);
КонецЕсли;
КонецПроцедуры

Функция СобратьМассивСтрокИзРезультатов(Частицы)
Результат = Новый Массив;
Для каждого Массив из Частицы Цикл
Если Массив.Количество() = 0 Тогда
Expand All @@ -91,14 +106,8 @@
СобраннаяСтрока = СтрСоединить(Массив);
Результат.Добавить(СобраннаяСтрока);
КонецЦикла;

Возврат Результат;

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

#КонецОбласти

#Область СлужебныеПроцедурыИФункции
КонецФункции

Функция ЭтоСимволНижнегоРегистра(Знач Символ)
Набор = Кириллица()+Английские();
Expand Down

0 comments on commit 4c6329a

Please sign in to comment.