Size: a a a

2021 March 02

D

Danya in supapro.cxx
anton
вам же всё равно от куда-то нужно узнать эти имена
Из подсказок IDE
источник

NM

Nastya Medveda in supapro.cxx
Danya
Из подсказок IDE
+++
источник

d

d7d1cd in supapro.cxx
Danya
Из подсказок IDE
Оттуда же можно и порядок узнать. И зачем тогда городить огород?
источник

D

Danya in supapro.cxx
d7d1cd
Оттуда же можно и порядок узнать. И зачем тогда городить огород?
Не хочется лишний раз писать аргументы по-умолчанию, если хочешь изменить значение последнего
источник

AN

Alexander N in supapro.cxx
Только вот одно но придется тогда при компиляции менять порядок, если я например сделал var3 = 1, var1 = "test", var2 = 14.88 т.е сли в функции они следуют
var1, var2, var3
источник

ID

In Dev in supapro.cxx
Danya
Не хочется лишний раз писать аргументы по-умолчанию, если хочешь изменить значение последнего
Это кстати пожалуй единственный аргумент за именованные аргументы
источник

AN

Alexander N in supapro.cxx
In Dev
Это кстати пожалуй единственный аргумент за именованные аргументы
А возможность опускать некоторые, а указание в любом порядке?
источник

ID

In Dev in supapro.cxx
Alexander N
А возможность опускать некоторые, а указание в любом порядке?
Все в итоге в аргументы по умолчанию опирается, а порядок - ну это такое. Если программист не в состоянии по сигнатуре функции передать аргументы в нужном порядке, это грустно
источник

CD

Constantine Drozdov in supapro.cxx
In Dev
Это кстати пожалуй единственный аргумент за именованные аргументы
счастливого чтения :)
    run->Draw({
       arguments.m_State,
       arguments.m_StateBase + { {}, run_start },
       arguments.m_DC,
       arguments.m_rectClip,
       arguments.m_nLayer,
       FALSE,
       arguments.m_ExternalSelected,
       m_Metrics
     },
     run_start,
     SelectionSegment,
     SpellError
   );
источник

NM

Nastya Medveda in supapro.cxx
In Dev
Это кстати пожалуй единственный аргумент за именованные аргументы
главный аргумент это читаемость кода, чтоб как можно меньше встречать что-то типа
MyObject shinyObject {14, 88, 35, 42, 17};
источник

AN

Alexander N in supapro.cxx
Constantine Drozdov
счастливого чтения :)
    run->Draw({
       arguments.m_State,
       arguments.m_StateBase + { {}, run_start },
       arguments.m_DC,
       arguments.m_rectClip,
       arguments.m_nLayer,
       FALSE,
       arguments.m_ExternalSelected,
       m_Metrics
     },
     run_start,
     SelectionSegment,
     SpellError
   );
Эээ
источник

ID

In Dev in supapro.cxx
Constantine Drozdov
счастливого чтения :)
    run->Draw({
       arguments.m_State,
       arguments.m_StateBase + { {}, run_start },
       arguments.m_DC,
       arguments.m_rectClip,
       arguments.m_nLayer,
       FALSE,
       arguments.m_ExternalSelected,
       m_Metrics
     },
     run_start,
     SelectionSegment,
     SpellError
   );
А это уже проблемы дизайна, нет?)
источник

CD

Constantine Drozdov in supapro.cxx
In Dev
А это уже проблемы дизайна, нет?)
предлагайте альтернативный дизайн
источник

AN

Alexander N in supapro.cxx
Мне кажется тут слишком много аргументов)
источник

ID

In Dev in supapro.cxx
Constantine Drozdov
предлагайте альтернативный дизайн
Как минимум у вас там структура arguments *уже* фигурирует
источник

CD

Constantine Drozdov in supapro.cxx
In Dev
Как минимум у вас там структура arguments *уже* фигурирует
> предлагайте альтернативный дизайн
источник

ID

In Dev in supapro.cxx
Constantine Drozdov
> предлагайте альтернативный дизайн
Передавать структуру же, которая к тому же уже есть в коде
источник

a

anton in supapro.cxx
Constantine Drozdov
счастливого чтения :)
    run->Draw({
       arguments.m_State,
       arguments.m_StateBase + { {}, run_start },
       arguments.m_DC,
       arguments.m_rectClip,
       arguments.m_nLayer,
       FALSE,
       arguments.m_ExternalSelected,
       m_Metrics
     },
     run_start,
     SelectionSegment,
     SpellError
   );
а кстати у вас тут всё заименовано
источник

ID

In Dev in supapro.cxx
In Dev
Передавать структуру же, которая к тому же уже есть в коде
run->Draw(
 { arguments },
 run_start,
 SelectionSegment,
 SpellError
);

Уже куда лучше
источник

CD

Constantine Drozdov in supapro.cxx
In Dev
Передавать структуру же, которая к тому же уже есть в коде
line_type::Draw(
  std::vector<std::shared_ptr<line_run_type>> const& Runs,
  para_draw_arguments const& arguments,
  selection_segment_type SelectionSegment,
  std::vector<bool> const& SpellError
) const


line_run_type::Draw(
 item_draw_arguments const& arguments,
 size offset,
 selection_segment_type SelectionSegment,
 std::vector<bool> const& SpellError
) const
источник