All
Я программист-самоучка, а не выпускник CS, поэтому существуют сотни лучших практик кодирования, которые я, вероятно, регулярно игнорирую.
Во всяком случае, вот общий вопрос ...
При кодировании лучше использовать больше кода или больше переменных (или массивов, хэшей и т. Д.) Для реализации логики?
Это неопределенный вопрос, но вот конкретный "например ..."
Я создаю пользовательский интерфейс для RIA; одна из возможностей - это серия маленьких точек в строке - каждая точка кликабельна и работает как навигация, которая позволяет пользователям выбирать другой экран.
(Подумайте о точках внизу ваших домашних экранов на вашем iPhone, которые позволяют переключать экраны, или навигацию по переключателю изображений на этой странице: http://www.apple.com/ipad/)
В любом случае, я реализовал этот «элемент управления точечной навигацией» как пользовательский подкласс Sprite. Когда пользователь щелкает точку, класс отправляет пользовательскому событию пользовательское событие, которое содержит значение индекса (uint), которое соответствует нажатой точке (например, «0» является первой точкой, «n-1» является n-й точкой ).
Теперь, в слушателе, мне нужно принять меры - переместить пользователя на соответствующую страницу. Итак, один очевидный вариант:
private function dotClicked(e:customDotEvent):void {
// e.target.index contains the index of the dot clicked
switch (e.target.index) {
case 0:
// navigate the user to the screen that corresponds to dot 0
loadScreen("home");
....
break;
case 1:
// navigate the user to the screen that corresponds to dot 1
loadScreen("about");
....
break;
....
case n:
// navigate the user to the screen that corresponds to dot n
loadScreen("etc");
....
break;
}
В этом примере - у меня довольно подробная функция переключения, которая выполняет работу.
Менее многословный вариант:
private function dotClicked(e:customDotEvent):void {
var screens:Array = ["home","about","blog",...,"etc"];
// e.target.index contains the index of the dot clicked
loadScreen(screens[e.target.index]);
}
Во втором варианте - у меня явно меньше кода, но для хранения массива «экранов» требуется дополнительная память (хотя и на время действия функции).
(Очевидно, что, вероятно, есть и множество лучших альтернатив, но, надеюсь, это иллюстрирует мой вопрос ...).
Итак, что лучше для производительности, уменьшения общего объема памяти приложения и т. Д.?
В этом простом примере разница, вероятно, тривиальна. Но может ли это сложиться в большом приложении?
Лучше ли Flash (или другие платформы) обрабатывать больше кода или больше переменных?
Стоит ли беспокоиться об этом, или я должен просто беспокоиться о написании кода, который легче поддерживать и отлаживать?
Заранее большое спасибо!