#actionscript-3 #coding-style #standards
#actionscript-3 #стиль кодирования #стандарты
Вопрос:
У меня есть приведенный ниже фрагмент кода в моем файле actionscript (определенный в функции)
var cmbSyncItems:Object = new Object();
cmbSyncItems = {tooltip:xmlContent.messages.cmbsync[0].tooltip, option1label:xmlContent.messages.cmbsync[0].option1[0].label, option1data:xmlContent.messages.cmbsync[0].option1[0].data, option2label:xmlContent.messages.cmbsync[0].option2[0].label, option2data:xmlContent.messages.cmbsync[0].option2[0].data};
cmbSync = new ObjectProxy(cmbSyncItems);
var btnFeedbackItems:Object = new Object();
btnFeedbackItems = {tooltip:xmlContent.messages.btnfeedback[0].tooltip, label:xmlContent.messages.btnfeedback[0].label};
btnFeedback = new ObjectProxy(btnFeedbackItems);
Ниже приведен переписанный код, использующий один и тот же объект ‘items’ снова и снова.
var items:Object = new Object();
items = {tooltip:xmlContent.messages.cmbsync[0].tooltip, option1label:xmlContent.messages.cmbsync[0].option1[0].label, option1data:xmlContent.messages.cmbsync[0].option1[0].data, option2label:xmlContent.messages.cmbsync[0].option2[0].label, option2data:xmlContent.messages.cmbsync[0].option2[0].data};
cmbSync = new ObjectProxy(items);
items = new Object();
items = {tooltip:xmlContent.messages.btnfeedback[0].tooltip, label:xmlContent.messages.btnfeedback[0].label};
btnFeedback = new ObjectProxy(items);
Объект items будет повторяться много раз (более сотен) в одном и том же файле.
Какой метод кодирования лучше (первый блок или второй блок)?
Будет ли все в порядке, если я возьму «второй». Имеет ли значение использование первого подхода (с точки зрения потребления памяти)?
Ответ №1:
я бы предпочел предложить третий вариант:
cmbSync = new ObjectProxy( { tooltip:xmlContent.messages.cmbsync[0].tooltip,
option1label:xmlContent.messages.cmbsync[0].option1[0].label,
option1data:xmlContent.messages.cmbsync[0].option1[0].data,
option2label:xmlContent.messages.cmbsync[0].option2[0].label,
option2data:xmlContent.messages.cmbsync[0].option2[0].data } );
btnFeedback = new ObjectProxy( { tooltip:xmlContent.messages.btnfeedback[0].tooltip,
label:xmlContent.messages.btnfeedback[0].label } );
upd
первый подход, похоже, не требует гораздо больше памяти, если все эти объекты объявлены как локальные переменные, но все эти объявления имхо действительно излишни
Комментарии:
1. 🙂 очень приятно. Ваш ответ — замечательное решение. Нет необходимости иметь дополнительные переменные 🙂 Спасибо