2009-09-20 2 views
2

У меня есть папка со всеми моими проектами на разных языках. Затем у меня есть библиотеки, которые я мог бы использовать в своем коде (в основном, файлы jar). Я уверен, что есть принятая практика, не так ли? Что делают профессионалы?Как организовать свою среду разработки

+0

используйте поиск, и вы найдете много информации об этом. – markus

+0

@tharkun: возможно, да, но это послужило бы хорошей отправной точкой для специализированного поиска –

+0

Дубликат: http://stackoverflow.com/questions/395486/how-do-you-manage-and-organize-your-files- scripts-repos-downloads-pdfs-etc, http://stackoverflow.com/questions/997149/best-way-to-organize-the-files-in-my-project и т. д. – gnovice

ответ

0

Для меня это следующий список каталогов в корневом каталоге проекта:

  1. ЦСИ для .java файлов, используя иерархии пакета
  2. Библиотека для 3-й партии баночки, если я не получаю их из хранилища (например, Spring distro)
  3. тест для тестовых файлов JUnit или TestNG
  4. ресурсов или конфигурации для .properties,.XML и т.д.
  5. веб, если это веб-приложение, которое содержит WEB-INF и все его бабка
  6. DOCS, если у меня есть какие-либо документации

мне нравится структура, которая эволюционировала Весенних люди.

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

У меня есть каталог/работа, которая хранит все мои рабочие копии Subversion.

1

Это действительно зависит от того, какие инструменты вы используете и как вам нравится его организовывать.

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

Я думаю, вам нужно будет выяснить, что работает лучше всего для вас.

1

У меня есть папка под названием «Работа». В этой папке у меня есть проекты.

Проект содержит все мое разработанное программное обеспечение, по одному каталогу для каждого, с условным названием. Каждый каталог представляет собой полный базарный репозиторий, контактирующие теги, багажники и ветки (наследие моего старого стиля svn, возможно, я скоро изменюсь).

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

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

Для развертывания и использования у меня есть скрипт python, который входит в каждый субтитр Project и загружает зависимости, компилирует все и упаковывает его как файл nutz (своего рода файл jar для утилиты утилиты Chestnut Package Manager, а также продукт мой).

В большинстве случаев профессионалы используют IDE, которые делают все для них. Мне не нравится этот подход, потому что часто использование и обучение IDE занимает больше времени, чем то, что я делал. IDE реализованы с идеей, что у вас есть бизнес-клиенты и потенциально большой программный проект с участием команды. На данный момент я вышел из этой шкалы, и для меня, используя сложную IDE, можно было бы передать трансатлантику на хороший уик-энд на море. Полностью вне шкалы для моих текущих потребностей.

0

Это очень зависит от языка программирования, который вы используете. Я программирую в java, и лучшая структура, которую я видел там, дается maven.

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

+0

о, да, когда это работает , Здорово. Слишком плохо, что это никогда не происходит (по крайней мере, с моим очень ограниченным опытом): я часами пинал, удалял и отключал и повторно затягивал зависимости, чтобы заставить его работать (на пару дней). Не уверен, что это была ошибка maven или ужасная установка maven, но я уверен, что у меня были большие проблемы, и никто не мог мне помочь. Я сдался. –

+0

Я тоже ненавижу Maven. Я согласен с идеей управления зависимостями JAR, но Айви тоже это делает. Я думаю, что Maven попытался объединить Айви и Ант и оказался в раздутом беспорядке. Я особенно ненавижу тот факт, что он накладывает структуру каталогов. Почему я не могу указать его? – duffymo

0

У меня есть все в репозиториях управления версиями (nb: очень обнадеживающий набор файлов, которые нужно иметь, и для тестирования резервных копий). На моих машинах dev у меня есть папка «Проекты» для проверки текущей/недавней работы и папка «Проекты/архивы» для более старых проверок, над которыми я сейчас не работаю. Когда мне нужны сторонние библиотеки для проекта, они входят в папку third_party внутри каждого проекта. Они отслеживаются git-подмодулями, которые дают мне точные версии программного обеспечения, которые, как известно, работают с этим проектом, но также легко обновляются в разных проектах, взламывают, если какая-то библиотека не делает то, что мне нужно, и т. Д. Идея с этим заключается в том, что каждый проект должен быть автономным и переносимым между машинами, насколько это разумно для надежности и т. д.

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

  • Нет связанных вопросов^_^