Mapper eller prosjekter i Visual Studio løsning?

stemmer
27

Når spliting en løsning på logiske lag, da er det best å bruke et eget prosjekt over bare gruppering av en mappe?

Publisert på 04/08/2008 klokken 22:00
kilden bruker
På andre språk...                            


7 svar

stemmer
17

Som standard alltid bare lage ny mappe i samme prosjekt

  • Du vil få ett montering (uten ekstra ILMerge gymnastikk)
  • Lettere å obfuscate (fordi du vil ha mindre offentlige typer og metoder, ideelt sett ingen i det hele tatt)

Skille kildekoden til flere prosjekter gir bare mening hvis du ...

  • Har noen deler av kildekoden som er en del av prosjektet, men ikke deployerbare som standard, eller i det hele tatt (enhet tester, ekstra plugins etc.)
  • Flere utviklere involvert, og du ønsker å behandle sitt arbeid som forbruks svart boks. (Ikke veldig anbefalt)
  • Hvis du kan tydelig skille prosjektet i isolerte lag / moduler, og du vil være sikker på at de ikke kan kryss konsumere interne medlemmer. (også anbefales ikke fordi du må bestemme hvilke aspekter er det viktigste)

Hvis du tror at noen deler av kildekoden kan være gjenbrukbare, fortsatt ikke lage det som et nytt prosjekt. Bare vent til du virkelig ønsker å bruke det på en annen løsning og isolere den ut av opprinnelige prosjektet etter behov. Programmering er ikke en lego, gjenbruk er vanligvis svært vanskelig og ofte vil ikke skje som planlagt.

Svarte 04/08/2008 kl. 22:45
kilden bruker

stemmer
8

Skille funksjoner i prosjekter er ofte en YAGNI arkitektur optimalisering. Hvor ofte har du gjenbrukt disse separate prosjekter, egentlig? Hvis det ikke er en hyppig forekomst, du kompliserer din utvikling, bygge, utrulling og vedlikehold for teoretisk gjenbruk.

Jeg foretrekker mye som skiller i mapper (ved hjelp av egnede navnerom) og refactoring å skille prosjekter når du har fått en real-life gjenbruk use case.

Svarte 17/08/2008 kl. 17:35
kilden bruker

stemmer
6

Denny skrev:

Jeg personlig føler at hvis gjenbrukbar kode er delt inn i prosjekter er det enklere å bruke andre steder enn om det bare er i mapper.

Jeg er enig med dette - hvis du kan bruke det, bør det være i et eget prosjekt. Med det sagt, er det også svært vanskelig å gjenbruke effektivt :)

Her på SO, har vi prøvd å være veldig enkelt med tre prosjekter:

  • MVC Web-prosjektet (som gjør en fin jobb med å skille dine lag i mapper som standard)
  • Database prosjekt for kildekontroll av vår DB
  • Enhet tester mot MVC modeller / kontrollører

Jeg kan ikke snakke for alle, men jeg er fornøyd med hvor enkelt vi har holdt det - virkelig hastigheter bygger sammen!

Svarte 04/08/2008 kl. 22:42
kilden bruker

stemmer
4

Jeg pleier å gjøre et prosjekt for GUI et prosjekt for forretningslogikken et prosjekt for datatilgang og et prosjekt for enhet tester.

Men noen ganger er det klokt å ha separasjon basert på tjenestene (hvis du bruker en tjenesteorientert arkitektur) som autentisering, salg, etc.

Jeg antar tommelfingerregel at jeg jobber ut av er at hvis du kan se det som en komponent som har et klart skille bekymringer da et annet prosjekt kan være forsvarlig. Men jeg vil tro at mapper versus prosjekter kan bare være en preferanse eller filosofi.

Jeg personlig føler at hvis gjenbrukbar kode er delt inn i prosjekter er det enklere å bruke andre steder enn om det bare er i mapper.

Svarte 04/08/2008 kl. 22:14
kilden bruker

stemmer
0

Jeg tror det er bedre å dele prosjektet i tillegg, men det hele avhenger av størrelsen på prosjektet og antall personer som jobber på den.

For større prosjekter, har jeg et prosjekt for

  • datatilgang (modell)
  • tjenester
  • front end
  • tester

Jeg fikk modellen fra Rob Connery og hans utstillingsvinduet søknad ... ser ut til å fungere veldig bra.

MVC-butikk

Svarte 15/09/2008 kl. 23:45
kilden bruker

stemmer
0

Hvis du vil gå for å skape flere prosjekter, sørge for at alle som legger kode til løsningen er fullt klar over intensjonen av dem og gjøre alt du kan for å få dem til å forstå avhengigheter mellom prosjektene. Hvis du noen gang har prøvd å ordne opp i rotet når noen har gått og lagt referanser som ikke skulle ha vært der og slapp unna med det i ukevis du vil forstå dette punktet

Svarte 10/09/2008 kl. 21:36
kilden bruker

stemmer
0

Skille kildekoden til flere prosjekter gir bare mening hvis du ... ... Flere utviklere involvert, og du ønsker å behandle sitt arbeid som forbruks svart boks. (Ikke veldig anbefalt) ...

Hvorfor er ikke dette anbefales? Jeg har funnet det en veldig nyttig måte å administrere et program med flere utviklere som jobber på ulike deler. Gjør innsjekk mye enklere, hovedsakelig av praktisk talt eliminere fusjonerer. Svært sjelden vil to utviklere må jobbe på samme prosjekt samtidig.

Svarte 17/08/2008 kl. 17:19
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more