Объявление переменной стоит накладных расходов? - PullRequest
4 голосов
/ 04 октября 2019

Мое руководство всегда просит меня избавиться от новых переменных столько, сколько я могу сказать, что это стоит накладных расходов. Тем не менее, я не уверен, что это на самом деле ухудшает производительность. Во всяком случае, создание новых переменных улучшает читабельность моего кода. Это на самом деле ухудшает производительность?

Вариант 1:

var a = something1();
var b = something2();
var c = something3();
var d = something4(a, b, c);

Вариант 2: сделать из него всего одну строку кода.

var d = something4(something1(), something2(), something3());

Обратите внимание: иногда это усложняется, а читаемость ухудшается.

Ответы [ 3 ]

1 голос
/ 04 октября 2019

В самом строгом смысле, да, переменная использует ресурсы (память или обработка). Но это само по себе не означает, что это плохо или расточительно. Используйте переменную, чтобы сделать ваш код более читабельным и / или хранить данные, которые понадобятся для повторного использования.

Позже, когда придет время проверить вашу работу, вы можете позаботиться об оптимизации. И есть очень известная мантра в разработке программного обеспечения, которая пытается оптимизировать ваш код при первоначальном написании, что часто приводит к большему количеству проблем, чем решает.

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

0 голосов
/ 05 октября 2019

Оба варианта практически одинаковы по производительности. С опцией 2 все вызовы функций оцениваются в скрытой области внутренней памяти, которая связана с параметрами функции. Это почти эквивалентно присвоению переменных в варианте 1.

0 голосов
/ 04 октября 2019

Если вы используете переменную один раз, избавьтесь от нее. Если 2+ раза - объявить переменную. Переменная может быть объявлена ​​в этом случае, только если слишком много выполнений делают отладку сложной. Поэтому, если действие соответствует линии - лучше использовать option 2

Без изменений в производительности. Просто читабельность, на которую также может повлиять слишком большое количество переменных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...