Лучший способ организовать файлы в моем проекте - PullRequest
2 голосов
/ 15 июня 2009

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

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

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

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

Теперь я учусь чему-то вроде этого: Проект / Имя модуля / Элементы управления пользователя / Проект / Название модуля / Классы /

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

Ответы [ 3 ]

2 голосов
/ 15 июня 2009

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

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

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

Project \ Tier (Модель | Контроллер | и т. Д.) \ Classname

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

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

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

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

0 голосов
/ 15 июня 2009

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

0 голосов
/ 15 июня 2009

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

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

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

...