|
•Коменты - 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 раз в коде тоже не забываем) и код становится короче. Сейчас очень сложно разгребать эти полотна кода, который ещё и из таких вызово состоит. Копипаста по сути. Очень сложно читать код. а ещё и отсутствие коментов, форматирование и повсеместные абревиатуры делают чтение и понимание просто пыткой. |
|
| |