(0)
Я не знаю в каком языке впервые появились аргументы по умолчанию
wiki:Аргумент_по_умолчанию
Утверждает, что в С++.
Допустим ты написал функцию
Функция МойСинус(Икс) Экспорт
возврат sin(Икс);
КонецФункции
Функция используется в куче модулей, внешних обработок, отчётов.
Но приходит какое-то время и выясняется, что в некоторых случаях, в очень редких отчётах нужно вычислять по другому,
учитывать "ОсобыеОбстоятельства"
Ты переписываешь функцию
Функция МойСинус(Икс, ОсобыеОбстоятельства) Экспорт
Если ОсобыеОбстоятельства = Истина Тогда
Возврат 4;
Иначе
возврат sin(Икс);
конецЕсли;
КонецФункции
И всё бы хорошо, но в большинстве мест вызова этой функции "ОсобыеОбстоятельства" не нужны.
Делать рефакторинг ? Можно, муторно (учитывая внешние отчёты и обработки), но проще сделать вот так
Функция МойСинус(Икс, ОсобыеОбстоятельства = Ложь) Экспорт
Если ОсобыеОбстоятельства = Истина Тогда
Возврат 4;
Иначе
возврат sin(Икс);
конецЕсли;
КонецФункции
Тогда везде будет работать старый вариант вызова
y = МойСинус(Х);
А там где нужно
y = МойСинус(Х, Истина);
y = МойСинус(Х, Ложь);