2014-11-03 7 views
0

Я никогда не учился «академическому» кодированию, поэтому я надеюсь, что мой вопрос не глуп.lua: объявляет таблицу «хозяином» всех графических элементов плохой практикой?

Чтобы устранить проблему локальной/глобальной декларации переменных, я взял привычку, чтобы создать локальную таблицу в начале файла для размещения всех будущих объектов:

local g = {} 
g.myRectangle = display.newRect(...) 
g.myImage = display.newImg(...) 

Это плохая практика ? Я подозреваю, что это замедляет общие приложения, но я не уверен. В конце концов, все мои переменные - local.

+0

Этот вопрос, кажется, не по теме, потому что речь идет о [codereview.se] – hjpotter92

+0

Он также может быть закрыт как _primarily мнение на основе вопроса. Вам нужно предоставить дополнительную информацию или задать конкретный вопрос (например, с точки зрения производительности и т. Д.). – hjpotter92

ответ

0

Я не вижу смысловой различию между вашим кодом и

local gMyRectangle = display.newRect(...) 
local gMyImage = display.newImg(...) 

, как долго ваш прецеденту не идут дальше. По пути вы можете передать таблицу функции, и это будет иметь меньший параметр (вы передадите целое с одной ссылкой). Но поскольку все они глобальны, нет необходимости переходить к функции.

Это может повлиять на производительность, так как необходим доступ к дополнительной таблице для доступа к переменной. В зависимости от количества объектов в таблице. (Читайте дальше здесь http://lua-users.org/wiki/OptimisationCodingTips).

+0

Глобалы охватывают каждый файл, а таблица 'local g' будет видна только файлу, в котором он был объявлен. –

+0

@ Полковник, ты прав. – PeterMmm