Недавно мы провели дискуссию о влиянии локальных переменных на производительность и читаемость кода Java. Некоторые из моих коллег говорят о том, что подобные объявления
new DoSomethingCmd(new SelectionContext(context, keys), infoStuff.getCurrentRole().getRole_id()).execute(getResultContainer());
придаст приложению значительное повышение производительности. Они готовы пожертвовать читабельностью кода для этого. Правильны ли они утверждать это? Является ли приведенная выше версия более результативной, чем, скажем, эта?
final SelectionContext selectionContext = new SelectionContext(context, keys);
final String roleId = infoStuff.getCurrentRole().getRole_id();
final DeleteSomethingCmd deleteSomethingCmd = new DeleteSomethingCmd(selectionContext,roleId);
deleteSomethingCmd.execute(getResultContainer());
Я понимаю, что первое утверждение не так сложно понять и само по себе, но сложность складывается довольно быстро, когда большая часть вашего кода структурирована таким образом.
Спасибо за ваш вклад.