Здравствуйте!
Подскажите как по вашему располагать файлы в папке проекта? (А то скачиваю исходники иногда и вижу у людей, что все свалено в одну кучу. Ну прям помойка, а у меня все по папкам разложено. И вот закралась мысль, что может я не прав.)
Открываю папку проекта и вижу:
1) Сразу все *.pas файлы или раскиданы еще по внутренним папкам (например, для форм у меня отдельная папка Forms)?
2) Сразу все файлы ресурсов или они в отдельной папке Resources? *
3) Сюда же компилируются все exe файлы?
4) Тесты в папке Test, внутри для каждого теста своя папка с названием тестируемого модуля (объекта)? **
5) Скрипты и прочее для InnoSetup в отдельной папке с соответствующим названием InnoSetup? Дистрибутив собирается в папке InnoSetup\Output?
6) Языковые модули в отдельной папке Language?
* При наличии условной компиляции (например, разные exe для разных стран) в папке ресурсов еще папки с названием условной компиляции?
** Я для каждого теста делаю отдельный проект, в нем форма и на ней необходимые визуальные элементы, чтобы задать начальные значения и запустить тест. Тесты запускаются отдельно вручную. Это правильно?
Расположение файлов в папке проекта
Модератор: Модераторы
Это наезд или провокация ?
п.с.
Для себя вижу лишним (движений много) только вот это:
Кстати: по папкам, иной раз, помойка куда больше получается.
п.с.
Для себя вижу лишним (движений много) только вот это:
например, для форм у меня отдельная папка Forms
Кстати: по папкам, иной раз, помойка куда больше получается.
pupsik писал(а):Это наезд или провокация ?
Тяга к лучшему
pupsik писал(а):Для себя вижу лишним (движений много) только вот это
Вот с этого у меня и закралось сомнение, что так неправильно. Сейчас формы в папке Forms, остальные юниты в папке Units. И в оправдание могу сказать, что в папку Forms я не заглядываю никогда, а вот в папку Units частенько - из одного проекта в другой модуль копирнуть или еще чего. Допустим, я все скину в одну папку. Ну не хотелось бы, заходя туда, просматривать названия еще и форм, которые я точно не ищу.
pupsik писал(а):Кстати: по папкам, иной раз, помойка куда больше получается.
Вот так примерно (папки Test только нет, они в другом месте).

з.ы. И вот еще не могу понять, где лучше хранить одинаковые для различных проектов модули? Вот допустим в модуле моя функция округления или банковская транслитерация или еще чего. Этот модуль используется в нескольких проектах. Раньше я хранил всего одну копию такого модуля в совершенно далекой от проекта папке с названием типа _MyLib. Но делая бекап всей папки проекта, происходит упущение модулей из папки _MyLib. Теперь я накопировал этот модуль во все папки различных проектов. Так теперь когда нужно изменить модуль, то мне нужно его везде выискивать и обновлять.
а фильтрация, сортировка? Но, в принципе это не важный момент (относительно, у каждого свои предпочтения).Ну не хотелось бы, заходя туда, просматривать названия еще и форм, которые я точно не ищу
сделать свой пакет и не забывать потом его в чистый лазарь "пихать".где лучше хранить одинаковые для различных проектов модули?
- Vapaamies
- постоялец
- Сообщения: 292
- Зарегистрирован: 24.07.2012 22:37:59
- Откуда: Санкт-Петербург
- Контактная информация:
resident писал(а):Сейчас формы в папке Forms, остальные юниты в папке Units. И в оправдание могу сказать, что в папку Forms я не заглядываю никогда, а вот в папку Units частенько - из одного проекта в другой модуль копирнуть или еще чего.
Тогда для вас так правильно. Способов организации работы ведь не бывает универсальных для всех, условия-то у всех разные и задачи разные.
resident писал(а):где лучше хранить одинаковые для различных проектов модули? Вот допустим в модуле моя функция округления или банковская транслитерация или еще чего.
Это должно решаться системой контроля версий.
Если вы держите все проекты в одном репозитарии, внутри деля их по папкам, -- разделяемые библиотеки являются частью окружения проекта и в этой роли копируются с прочими папками проекта по веткам и тегам.
Если же у каждого проекта свой репозитарий, для разделяемых библиотек нужно тоже создать еще один, а приложения сделать клиентами библиотек, подключая их через механизм удаленных репозитариев. В SVN, например, есть такая штука -- svn:external. По веткам и тегам библиотеки так же копируются со всеми другими файлами проекта, как и в первом случае.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
resident писал(а):Подскажите как по вашему располагать файлы в папке проекта?
Ваш подход, имхо, хорош для средних проектов. А вот для мелких он избыточен. Для крупных проще заводить папки для отдельных частей кода (компонент, крупных объектов...) то есть, на этапе папок делить их на более мелкие проекты.
resident писал(а):И вот еще не могу понять, где лучше хранить одинаковые для различных проектов модули?
там же где и раньше. Просто возьмите за правило архивировать ее с каждым проектом.
Спасиб за ответы 
