2010-08-25 2 views
1

В настоящее время я смотрю на структурирование проектов моих команд в соответствии с правильной загрузкой пакетов и с легкостью контролируется версиями (через SVN).ActionScript 3.0 кросс-проект папка/структура упаковки наилучшая практика

Меня интересует любая «лучшая практика» в отношении структурирования проекта и как использовать согласованную упаковку, не сворачивая все в гигантскую структуру каталогов com.domainname.projects при сохранении этой структуры пакета. Я также хочу использовать структуру папок src/bin/lib в каждом проекте.

Думаю, я спрашиваю: «Как вы это делаете?» и почему?'. Извините, если это немного абстрактно для Stack Overflow, но вы, ребята, даете лучшие ответы, которые я нашел.

ответ

0

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

Вот некоторые идеи так или иначе ... надеюсь, я понял направление вас вопрос :)

Если ваши проекты связаны и отпускание новых версий каждого многоразового артефакта часто, один SVN репо держать папку для каждый должен это делать. Тег/филиалы должны оставаться на уровне проекта.

Наличие отдельных репозиториев для связанного кода может стать головной болью ремонтопригодности.

+0

Команда Я работаю в 8 разработчиков - мы делаем образовательные ресурсы во Flash (не Flex) для использования на интерактивных досках в классе. Большинство проектов обрабатывается одним разработчиком, но иногда у более крупных проектов будет работать несколько разработчиков. В большинстве случаев у нас, вероятно, не более 4 проектов, каждый из которых активен в любой момент. Процесс разработки каждого члена варьируется, что мы пытаемся стандартизировать и немного модернизировать. Не вдаваясь в подробности, я пытаюсь помочь людям отойти от кадровых сценариев и в более подход ООП. ... – hamishtaplin

+0

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

+0

В этом случае, кажется, ваши самые большие проблемы впереди: 1) стандартизация активов, и 2) единообразие в развитии. Для 1, комментарии Daniel & back2dos наверняка помогут. Для 2 я бы рекомендовал пару программ программирования (или, по крайней мере, обзоры кода, используя такой инструмент, как ReviewBoard или просто на бумаге). Я предполагаю, что любая структура, которую вы выбрали сегодня, наверняка изменится по мере продвижения вашей команды и определения того, как делиться и продавать активы. Итак, я бы сосредоточился на быстром старте (самая простая структура, в которой вы нуждаетесь сегодня, не смотрите дальше) и за пару месяцев заработала окончательное согласованное решение. Удачи! – Sebastian

0
Package1 
    src\com\domainname\Package1 
     source files 
Package2 
    src\com\domainname\Package2 
     source files 
Package3 
    src\com\domainname\Package3 
     source files 
Lib 
    All packages export swcs into this folder 

Проблема с повторным использованием происходит в обратном направлении - иногда что-то изменить в corelib сломают все виды вещей происходят в обратном направлении, так что я предлагаю делать бег строит против него, чтобы создать один большой SWC со всеми пакетами в Это.

Я не знаю, почему вы заинтересованы использовать Bin \ Lib папки - это имеет смысл, чтобы они указывают на вещи в явной форме, а не имеющие родительских проектов экспорт в детей ...

+0

Да, это похоже на тот подход, который у меня есть на данный момент, но я проверяю последнюю версию основной библиотеки для каждого нового проекта в папку/lib/и публикую в папку/bin /.Однако мы не используем SWC, каково преимущество подхода, который вы описываете? – hamishtaplin

+1

@dr_tchock: использование SWC обычно приводит к более быстрой компиляции, а также позволяет разработчикам пытаться взломать то, что они считают правильным в ваших основных библиотеках, обеспечивая принцип открытия/закрытия (http://en.wikipedia.org/wiki/Open/ closed_principle). Это преимущество. Недостатком является то, что этот подход действительно имеет смысл в библиотеках, которые имеют высокое качество. – back2dos

Смежные вопросы