Сколько проектов в решении слишком много? - PullRequest
3 голосов
/ 27 октября 2009

Сколько проектов в одном решении приемлемо? А для тех приложений, которые имеют большие номера проектов, вы помещаете другие скомпилированные библиотеки в какую-то общую папку, чтобы иметь возможность запускать приложение?

Ответы [ 6 ]

7 голосов
/ 27 октября 2009

Поскольку в Visual Studio проект компилируется в сборку, вы должны задать себе вопрос: «Сколько сборок мне нужно иметь?»

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

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

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

Интересное обсуждение логического / физического разбиения приложений можно найти в блоге Патрика Смаккья (например, http://codebetter.com/blogs/patricksmacchia/archive/2008/02/10/layering-the-level-metric-and-the-discourse-of-method.aspx)

5 голосов
/ 27 октября 2009

Ну, 42, конечно!

2 голосов
/ 27 октября 2009

Я согласен с ответами до сих пор. Еще одним критерием является скорость восстановления решения ...

2 голосов
/ 27 октября 2009

Нет правильного или неправильного ответа на этот вопрос. Некоторым разработчикам нравится создавать несколько проектов в рамках основного проекта. Другие любят компилировать в сборку (dll) и ссылаться обратно. Это зависит от вашей команды и рабочего места.

1 голос
/ 27 октября 2009

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

0 голосов
/ 27 октября 2009

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

Что я делаю, так это то, что у меня есть проект "Библиотеки", в который я помещаю все свои внешние библиотеки DLL, а затем ссылаюсь на них прямо там.

...