M.A.X.    Вы вошли как гость
Российский Клуб игроков M.A.X.
 
[Новости]   [Новичку]   [Энциклопедия]   [Документы]   [Файлы]   [Игроки]   [Архивы]   [Архив форума]  
[Новый сайт]   [M.A.X. Gold]   [Партии]  

 
 
 
Архив форума  МаксГолд
[Основной форум] [Голосования] [МаксГолд] [Off-Topic]
 


Хм...  -  Hruks,  03.06.2010  11:36:45

ладно, про эти массивы я может не разобрался. Но ИМХО такие объёмы лишнее.

Про текущего игрока:
Конструкция вида mg_game.cur_plr встречается в проекте почти 500 раз!!!
А ведь каждый раз это обращение к элементу. Для таких вещей нужно заводить переменную cur_plr_id и обновлять её, при загрузке и при смене игрока. Это же просто. Переменная в основном на чтение используется.

Поехали далее.
Около 300 раз из тех 500 эта переменная используется в виде: mg_game.plr[mg_game.cur_plr]
Такие вещи тоже можно и нужно выносить в переменную, например cur_plr. Обновлять её там же, где обновляется cur_plr_id.
Тут экономия обращений будет ещё в 2 раза лучше. А код становится гораздо чище.
Причём выполнить такую замену можно фактически автоматически. На чтение можно оставить возможность и короткую переменную использовать и полное обращение (если нужно).
На запись делать аккуратно и лучше процедуркой: set_cur_player. Тогда внутри уже всю логику предусмотреть по синхронизации длинных и коротких переменных.