Re[5]: Ширина кода - газетная vs книжная
От: serg_joker Украина  
Дата: 14.01.25 08:42
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:


ЕМ>А добавить 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, за который цепляется глаз, и который может вызвать ложное ощущение возврата из охватывающей функции.
Но проблему сложной инициализации оно решает.
И точку останова, в отличие от тернарки, можно поставить на конкретную ветку.
Отредактировано 14.01.2025 8:52 serg_joker . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.