Цитата:Я считаю так. Если тебе нужен (Параметр со значением по умолчанию) И (Проверка типов), то надо засовывать в значение по умолчанию значение того же типа.
Если я тебя правильно понял, то ты предлагаешь описывать методы так:
class тестыЗначенияПараметровПоУмолчанию = ЗначенияПараметровПоУмолчанию.txt : ТестовыйСлучай
{
void Метод1_СПараметромПоУмолчанию(СписокЗначений Список=СоздатьОбъект("СписокЗначений"));
void Метод2_СПараметромПоУмолчанию(СписокЗначений Список=СоздатьОбъект("СписокЗначений"));
};
Но это же корявость. А если у меня несколько параметров, то тогда во что это превратится?
Цитата:Вот если тебе НЕ нужна проверка типов, а нужен ТОЛЬКО параметр со значением по умолчанию, то тут попадос, ибо в 1С++ грамотно разрулить это нельзя.
Почему нельзя? Я отключаю проверку типов, и этот тест проходит.
Цитата:А по поводу "я_сам_знаю_что" - там была какая-то косячина с тем, что пустая строка передается как пустое значение неопределенного типа, но Артур вроде бы ее исправлял.
Пустая строка в качестве параметра по умолчанию передается только, если тип параметра - строка.
Я предлагаю использовать пустое значение неопределенного типа (Nil, или еще как его называют) как походящее в качестве параметра любого типа.
В качестве примера могу сказать, что при обсуждении с АЛьФом параметров для ИсходнойТаблицы() обсуждались различия при передаче параметров, если параметр пропущен и если параметром передано ПолучитьПустоеЗначение(). Он тогда сказал, что, в принципе, эти случаи можно отличить в исходном коде компоненты, но не стоит этого делать. В этом вопросе я с ним согласен. Думаю, что в данном случае логично поступить так же.
Каждый раз я получаю рекомендации как нужно правильно использовать параметры по умолчанию. Я не утвержаю, что настоящая реализация не пригдна к использованию. Можно, конечно, писать код с ее использованием и обходить все тонкие моменты, возникающие при этом. В принципе, можно совсем не пользоваться параметрами по умолчанию.
Я всего лишь говорю о том, что в настояшем виде параметры по умолчания НЕ УДОБНЫ.
Еще небольшой вопрос. Почему-то против моих предложений изменить использование параметров по умолчанию высказываешься только ты. У тебя много кода завязано на использование их в существующем виде? Или на форуме разработчиков все пришли к единому мнению, и ты его озвучиваешь?