Показать сообщение отдельно
Старый 30.01.2012, 15:07
s3dworld вне форума Посмотреть профиль Отправить личное сообщение для s3dworld Найти все сообщения от s3dworld
  № 1  
Ответить с цитированием
s3dworld

Регистрация: Apr 2010
Сообщений: 170
По умолчанию Стиль ведения проекта

Всем доброго дня!

Имеется проект с множеством классов. Хочу сделать рефакторинг. Думаю как лучше перестроить структуру проекта...

ВАРИАНТ 1
Складывать классы одного логического значения в один пакет. Например:

Код AS3:
Game/Map/Map.as
Game/Map/MapField.as
Game/Map/MapObject.as
Game/Render/RenderMap.as
Game/Render/RenderField.as
Game/Render/RenderObject.as
Game/Game.as
Utils/MD5.as
main.as
И вот когда я в main.as создаю класс Game:

Код AS3:
import Game.Game;
 
// ...
 
public static var game:Game=null;
 
// ...
 
game=new Game.Game(param1,param2);
Видите как странно идёт создания? Это так в FlashDevelop от наставил Game.Game, и при этом от отказывается подсвечивать параметры конструктора.

ВАРИАНТ 2
Например:

Код AS3:
Game/Map/MapField.as
Game/Map/MapObject.as
Game/Render/RenderMap.as
Game/Render/RenderField.as
Game/Render/RenderObject.as
Game/Map.as
Utils/MD5.as
Game.as
main.as
То есть класс с базовой логикой вынесен из пакета, а в пакете его составляющие.

ВАРИАНТ 3
В качестве имён пакетов не использовать имена классов (ох уж это сложно для меня).

Вообще кто как делает и где какие подводные камни? Я разрабатываю на FlashDevelop. На C++ я на жёстком диске создавал папки в крайних случаях для объединения кода, в основном у меня были фильтры только в самой среде для удобочитаемости структуры проекта. Но в FlashDevelop каждая папка является отдельным пакетом.