Структура пакета ActionScript 3 и структура каталогов - PullRequest
0 голосов
/ 23 января 2011

Кажется, я сталкиваюсь с проблемами компиляции в Flash Builder при импорте сторонних библиотек на неправильном уровне в структуре каталогов.

Например, иногда я импортирую библиотеку на один уровень слишком глубоко в ее дерево каталогов, и в результате проводник пакетов исключает префикс пакета корневого уровня, обычно «com». или "нет." Даже если содержимое самого источника не изменится, это приведет к ошибкам компиляции.

Таким образом:

  • Является ли это 1) соглашением или 2) языковым требованием о том, что структура пакета класса (например, "foo.bar.Class") должна соответствовать его пути (например, foo / bar / Class.as)?

  • Если это требование языка, почему это требование? Разве это не переопределило бы структуру пакета, поскольку она уже указана в исходном коде и довольно успешно занимает первые три-восемь столбцов каждой строки?

  • Если это не требование языка, являются ли мои ошибки компиляции просто результатом применения Flash Builder соглашения?

1 Ответ

1 голос
/ 24 января 2011

Это требование языка, которое ActionScript делит с Java.Статья Википедии о пакетах Java предлагает подходящее описание:

Спецификация языка Java устанавливает соглашения об именах пакетов, чтобы избежать возможности двух опубликованных пакетов с одинаковым именем.Соглашения об именах описывают, как создавать уникальные имена пакетов, чтобы широко распространенные пакеты имели уникальные пространства имен.Это позволяет отдельно, легко и автоматически устанавливать и каталогизировать пакеты.

Я бы добавил, что, сохраняя файлы классов в соответствующей структуре папок, можно объединять полные или частичные проекты (например, каркасы и / или компоненты) путем импорта существующей структуры папок - безриск конфликта имен и / или перезаписи существующих файлов.Это также помогает найти определенный класс, когда вы работаете с большими базами кода.

...