Сообщение Re[5]: Ширина кода - газетная vs книжная от 14.01.2025 8:42
Изменено 14.01.2025 8:52 serg_joker
Re[5]: Ширина кода - газетная vs книжная
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>А добавить const к существующей переменной, насколько я знаю, не позволяет ни один язык.
Добавить нет, но и вычислять одним выражением уже нет необходимости. Тем более, что не всё можно запихнуть в тернарку (например, циклы).
Immediately invoked lambda function
Мне лично не нравится в таком подходе наличие в коде return, за который цепляется глаз, и который может вызвать ложное ощущение возврата из охватывающей функции.
Но проблему сложной инициализации оно решает.
ЕМ>А добавить const к существующей переменной, насколько я знаю, не позволяет ни один язык.
Добавить нет, но и вычислять одним выражением уже нет необходимости. Тем более, что не всё можно запихнуть в тернарку (например, циклы).
Immediately invoked lambda function
TypeWithLongName const VarWithLongName = [&]{
if (Var1 !=0 && Func1 (Arg1, Arg2)) {
return Func1WithLongName (Arg1WithLongName + Arg2WithLongName, Arg3WithLongName - Arg4WithLongName, Arg5WithLongName * Arg6WithLongName);
} else {
return Func2WithLongName (Arg1WithLongName + Arg2WithLongName, Arg4WithLongName - Arg3WithLongName, Arg6WithLongName / Arg5WithLongName);
}
}();Мне лично не нравится в таком подходе наличие в коде return, за который цепляется глаз, и который может вызвать ложное ощущение возврата из охватывающей функции.
Но проблему сложной инициализации оно решает.
Re[5]: Ширина кода - газетная vs книжная
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>А добавить const к существующей переменной, насколько я знаю, не позволяет ни один язык.
Добавить нет, но и вычислять одним выражением уже нет необходимости. Тем более, что не всё можно запихнуть в тернарку (например, циклы).
Immediately invoked lambda function
Мне лично не нравится в таком подходе наличие в коде return, за который цепляется глаз, и который может вызвать ложное ощущение возврата из охватывающей функции.
Но проблему сложной инициализации оно решает.
И точку останова, в отличие от тернарки, можно поставить на конкретную ветку.
ЕМ>А добавить const к существующей переменной, насколько я знаю, не позволяет ни один язык.
Добавить нет, но и вычислять одним выражением уже нет необходимости. Тем более, что не всё можно запихнуть в тернарку (например, циклы).
Immediately invoked lambda function
TypeWithLongName const VarWithLongName = [&]{
if (Var1 !=0 && Func1 (Arg1, Arg2)) {
return Func1WithLongName (Arg1WithLongName + Arg2WithLongName, Arg3WithLongName - Arg4WithLongName, Arg5WithLongName * Arg6WithLongName);
} else {
return Func2WithLongName (Arg1WithLongName + Arg2WithLongName, Arg4WithLongName - Arg3WithLongName, Arg6WithLongName / Arg5WithLongName);
}
}();Мне лично не нравится в таком подходе наличие в коде return, за который цепляется глаз, и который может вызвать ложное ощущение возврата из охватывающей функции.
Но проблему сложной инициализации оно решает.
И точку останова, в отличие от тернарки, можно поставить на конкретную ветку.