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

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


Коменты  -  Hruks,  03.06.2010  17:41:50

>>Опять не понял, чем cur_plr_id отличается от cur_plr ?
:)
Я писал про варианты:
есть
mg_game.cur_plr
будет
cur_plr_id
Отличие в том, что на один уровень меньше обращений. И таких обращений 500!!! А какие-то запросто в циклах.


>>Далее, конструкции вроде mg_game сделаны не просто так, глобальные переменные мне плодить не охота
А копипастить однотипные конструкции нормально?
Это оптимизация. И повышение читабельности кода. Я бы вообще предпочёл объекты, но ты же их не любишь почему-то.


>>Если делать одну глобальную переменную, то за ней очень легко потярять контроль, и рассинхронизовать их может кто угодно.
Нет, если на запись всегда использовать функцию, то рассинхронизации быть не может.
А на чтение пожалуйста - читай сколько хочешь. Она обновляется в одном месте.
Я не предлогаю всё и вся позапихивать в переменные (шоркаты). Я предложил два конкретных случая.

>>Прирост скорости же от такого будет мизерный, а головной боли - куча.
Про что именно речь?
Быстродействие да, кардинально не увеличится. Хотя в циклах отрисовки даст чуть-чуть.
Главно что полотна кода сократятся. Даже сейчас можно выносить в начале функций эти вещи в локальную переменную и это смотрится лучше, но делать так каждый раз крайне неудобно.


>>Про set_cur_player - нет смысла, единственное место где меняется cur_plr - процедура конца хода.
Смысл только в одном - тот самый контроль изменений и уверенность в том, что изменения синхронны. сейчас логика одна, завтра усложнится. Искат по всему коду и подпиливать?
Более того, set методы позволяют легко поставить в отладчике точку останова и узнать кто когда и где поменял переменную.


>В принципе есть логика вместо mg_game.plr[mg_game.cur_plr] использовать mg_game.cur_player. Только много ли это даёт?
Ну почему бы всё таки не mg_cur_player?
Это даёт и прирост производительности (неболльшой, но про 300 раз в коде тоже не забываем) и код становится короче.
Сейчас очень сложно разгребать эти полотна кода, который ещё и из таких вызово состоит. Копипаста по сути.
Очень сложно читать код. а ещё и отсутствие коментов, форматирование и повсеместные абревиатуры делают чтение и понимание просто пыткой.