Информация об изменениях

Сообщение Re[3]: Ширина кода - газетная vs книжная от 12.01.2025 18:20

Изменено 12.01.2025 18:26 swame

Re[3]: Ширина кода - газетная vs книжная
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Здравствуйте, Pzz, Вы писали:


Pzz>>неспособность автора уложиться в 80 часто коррелирует с тем, что автор плохо понимает, что пишет.


ЕМ>Хорошо Вам, с такой-то категоричностью. У меня вот регулярно возникают примерно такие конструкции:


ЕМ>
ЕМ>TypeWithLongName const VarWithLongName = (Var1 !=0 && Func1 (Arg1, Arg2))? Func1WithLongName (Arg1WithLongName + Arg2WithLongName, Arg3WithLongName - Arg4WithLongName, Arg5WithLongName * Arg6WithLongName) : Func2WithLongName (Arg1WithLongName + Arg2WithLongName, Arg4WithLongName - Arg3WithLongName, Arg6WithLongName / Arg5WithLongName);
ЕМ>


ЕМ>Вот как такое адекватно делить на строки? Я за много лет не придумал ничего лучше, чем


ЕМ>
ЕМ>TypeWithLongName const VarWithLongName =
ЕМ>  (Var1 !=0 && Func1 (Arg1, Arg2))? (
ЕМ>    Func1WithLongName (
ЕМ>      Arg1WithLongName + Arg2WithLongName,
ЕМ>      Arg3WithLongName - Arg4WithLongName,
ЕМ>      Arg5WithLongName * Arg6WithLongName
ЕМ>    )
ЕМ>  ) : (
ЕМ>    Func2WithLongName (
ЕМ>      Arg1WithLongName + Arg2WithLongName,
ЕМ>      Arg4WithLongName - Arg3WithLongName,
ЕМ>      Arg6WithLongName / Arg5WithLongName
ЕМ>    )
ЕМ>  );
ЕМ>


У вас тут вычисления 2 раза повторяются.
Вычислить арифметические выражения в локальные переменные 3 строки


ЕМ>Такая форма мне кажется весьма извращенной, но как эту извращенность если не ликвидировать, то хотя бы просто уменьшить?
Re[3]: Ширина кода - газетная vs книжная
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Здравствуйте, Pzz, Вы писали:


Pzz>>неспособность автора уложиться в 80 часто коррелирует с тем, что автор плохо понимает, что пишет.


ЕМ>Хорошо Вам, с такой-то категоричностью. У меня вот регулярно возникают примерно такие конструкции:


ЕМ>
ЕМ>TypeWithLongName const VarWithLongName = (Var1 !=0 && Func1 (Arg1, Arg2))? Func1WithLongName (Arg1WithLongName + Arg2WithLongName, Arg3WithLongName - Arg4WithLongName, Arg5WithLongName * Arg6WithLongName) : Func2WithLongName (Arg1WithLongName + Arg2WithLongName, Arg4WithLongName - Arg3WithLongName, Arg6WithLongName / Arg5WithLongName);
ЕМ>


ЕМ>Вот как такое адекватно делить на строки? Я за много лет не придумал ничего лучше, чем


ЕМ>
ЕМ>TypeWithLongName const VarWithLongName =
ЕМ>  (Var1 !=0 && Func1 (Arg1, Arg2))? (
ЕМ>    Func1WithLongName (
ЕМ>      Arg1WithLongName + Arg2WithLongName,
ЕМ>      Arg3WithLongName - Arg4WithLongName,
ЕМ>      Arg5WithLongName * Arg6WithLongName
ЕМ>    )
ЕМ>  ) : (
ЕМ>    Func2WithLongName (
ЕМ>      Arg1WithLongName + Arg2WithLongName,
ЕМ>      Arg4WithLongName - Arg3WithLongName,
ЕМ>      Arg6WithLongName / Arg5WithLongName
ЕМ>    )
ЕМ>  );
ЕМ>


У вас тут вычисления 2 раза повторяются.
Вычислить арифметические выражения в локальные переменные 3 строки.
Вычислить Func1 и Func2 еще в 2 локальные переменные. еще 2 строки
вызвать деление. 1 строка
строк меньше, код понятней, на каждом шаге можно проверить результат,
в отладчике видно в какой функции возникла проблема.

ЕМ>Такая форма мне кажется весьма извращенной, но как эту извращенность если не ликвидировать, то хотя бы просто уменьшить?