Лучший способ организовать файлы в моем проекте

Как лучше всего организовать файлы в вашем проекте?

Например, вы помещаете все пользовательские элементы управления в отдельную папку или помещаете их во вложенную папку? У вас есть папка бизнес-логики? Папка вспомогательных классов?

Раньше я организовывал свои проекты так:

Проект / Пользовательские элементы управления / Имя модуля / Проект / Классы / Имя модуля /

Теперь я больше узнаю о чем-то вроде этого: Project / Module Name / User Controls / Project / Module Name / Classes /

Как лучше всего? Особенно, если проект станет действительно большим? Какой тип структуры папок должен существовать?


person zachary    schedule 15.06.2009    source источник
comment
Можете ли вы иметь несколько проектов? Если можешь, я бы пошел по этому пути.   -  person Orion Adrian    schedule 15.06.2009
comment
Это ДЕЙСТВИТЕЛЬНО субъективно. Возможно, если бы вы дали некоторую информацию о конкретных потребностях ВАШЕГО проекта ...   -  person Paul Sonier    schedule 15.06.2009
comment
согласился, что вопрос довольно расплывчатый. Тип проекта имеет большое значение для лучшей структуры файлов.   -  person David Reis    schedule 15.06.2009


Ответы (3)


Во-первых, цель разделения папок - это дополнительный уровень документации, позволяющий программистам легче находить код. Это означает, что у вас не должно быть дополнительных уровней «просто для организации вещей». Это исключает папки с именами Classes, Controls и т. Д.

Некоторые примеры:

Если вы работаете над трехуровневым приложением, имеет смысл иметь что-то вроде:

Проект \ Уровень (Модель | Контроллер | и т. Д.) \ Имя класса

Если ваша программа настолько велика, что у нее есть отдельные функциональные области, я бы выбрал:

Проект \ Функциональная область \ Уровень (Модель | Контроллер | и т. Д.) \ Имя класса

Это особенно полезно, когда подгруппы работают над разными функциональными областями.

Также воздержитесь от очень глубоких деревьев папок (IMHO, глубина более 4 - это слишком) и держите имена папок компактными. Некоторые инструменты могут иметь ограничения на размер пути до 255 символов, поэтому здесь есть место краткости.

person David Reis    schedule 15.06.2009

Я разделяю наши основные части на проекты - это очень упрощает повторное использование.

В рамках проекта я делаю папки (и имена) по функциональным областям.

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

person Raj More    schedule 15.06.2009
comment
то же самое. Я объединяю связанные классы в проекты, а затем разделяю их по папкам. - person Colin; 15.06.2009

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

person James Cadd    schedule 15.06.2009