2017-01-30 2 views
2

В последнее время я начал работу над новым проектом и в коде почти везде, когда присваиваю значение переменной, мы используем назначение нескольких переменных в одной строке. Некоторые примеры:Производительность в одной строке присваивает переменные

object foo; 
double bar; 

foo = bar = 100; 

Наш лидер команды говорит, что она будет больше производительности вместо

foo = 100; 
bar = 100; 

, но почему? Код более читабельен во втором случае.

Может ли кто-нибудь объяснить мне, почему?

P.S. Руководитель группы не знает, почему, но знаю, что это больше производительности: \

+2

Обратитесь к своему руководителю группы за конкретными доказательствами производительности, а не только в том, что это имеет значение, но разница в значении * значительна * в вашем приложении. Если ваш TL также не утверждает, что первая форма более читаема (что я, конечно, не согласен), они должны обеспечивать обоснование для того, чтобы сделать код менее удобочитаемым. –

+2

Преждевременная оптимизация? Если **, что ** меняет все, что я удивлюсь. –

+0

Я не думаю, что есть какой-либо удар производительности, более того, в первом случае, если вы работаете с git или любым другим репозиторием, трудно найти конфликты слияния. –

ответ

2

Два предложенных фрагмента кода - это абсолютно не то же самое, хотя это очень мало связано с производительностью. В одной программе есть очень большая семантическая разница, а другая.

foo = bar = 100 в конечном итоге с коробкой double. foo = 100; bar = 100; закончится коробкой int. Это семантически отличная разница . Если позже код, ожидающий вставить в бокс double попытки распаковать его с помощью явного литья, (double)boxed, приложение будет разбиваться, если используется последняя опция.

Смежные вопросы