DrDelete schreef op dinsdag 11 januari 2005 @ 21:00:
[...]
Waarom geen mega solution. Je kunt toch per ontwikkelaar een eigen configuration maken door alleen die assemblies aan te vinken in de configuration manager die je nodig hebt ? De master solution blijft dan bruikbaar voor de night-build.
Wat is de 'configuration manager' ? Je doelt toch hopelijk niet op de build config manager, want die gaat daar niet over. Als jij 20 projects in een solution stopt en die projects zijn wat groter dan de huis-tuin-keuken prutsels dan gaat vs.net vrolijk op zn muil in random situaties. Daar mag jij natuurlijk op kicken, ik heb geen idee, maar jouw developers zeker niet.
Wat is een "blokje". Is dat een set van .csproj's in een eigen solution ? Het kan namelijk zijn dat er een stuk functionaliteit gemaakt dient te worden waarbij je een nieuwe .csproj aanmaakt en andere .csproj's nodig hebt om daarbinnen sources aan te passen. Moet de overige functionaliteit (lees: assemblies) dan als file-references gebruikt worden (die assemblies die geen wijzigingen moeten hebben) ?
in vs.net is het zo project == assembly. Dus je bepaalt eerst hoe je gaat deployen, dwz ga ik alles in 1 assembly stoppen of in 2 of meerdere, dan per assembly een project aanmaken.
En dat doe je VER NADAT je de functionaliteit hebt ontworpen. Of ga je alles agile/XP achtig benaderen?

Helemaal mee eens: maar wat doe je als er een lange release ronde is; dan bouw je misschien op functionaliteit die in de tussenliggende periode drastisch gewijzigd is; misschien wil je dan toch bouwen op night-build assemblies... Hoe los je dat op dan, beheers-technisch ?
Je wilt niet voortbouwen op nightly builds. Daar heb je als ontwikkelaar van andere functionaliteit geen moer aan, je wilt voortbouwen op spul dat al een beetje werkt want anders ben je meer andermans spul aan het debuggen dan je eigen code. Dit houdt dus ook in dat niet alle 80 mensen direct aan de slag kunnen. Je moet eerst wat basiscode maken waar anderen mee verder kunnen.
Goed idee, was ik ook van plan, maar... moeten interfaces dan in aparte assemblies ? Stel je hebt functionaliteitA.dll moet er dan een functionaliteitA.Interfaces.dll komen ?
[...]
Een class heeft ook een interface. Het gaat erom dat team B software kan compileren tegen een assembly van team A, waarbij nog niet alle code in is geimplementeerd (dwz veel methods gooien nog een NotImplementedException())
DrDelete schreef op dinsdag 11 januari 2005 @ 21:07:
Er is een logische (conceptuele) architectuur bedacht. Echter.. de technische applicatie architectuur laat nogal te wensen over. Zo is er nog geen coding guidelines, geen FxCop, geen NUnit, geen verplichte folder structuur onder elke .csproj (bijv. met 3 lagen en wat differentatie daarbinnen bijv.). Zodoende kan ieder project op zijn eigen manier zijn assmblies zo inrichten dat er uiteindelijk de assembly mee gemaakt kan worden, alleen is er geen overall structuur voor elke assembly bedacht; de vraag is ook of je elk .csproj in dezelfde keurslijf kunt gieten.
Je kunt niet meerdere vs.net projects in 1 assembly stoppen. Je kunt alleen op de command line naar meerdere modules compileren en die in 1 assembly stoppen maar dat wil je echt niet, trust me.
Ik krijg verder de indruk dat er een groot project moet worden opgezet maar dat niemand ook maar een flauw idee heeft hoe dat zou moeten. Dit resulteert veelal in veel vergader waar geen reet besloten wordt.
Je kunt met een message broker onafhankelijk met verschillende assemlies communiceren door te serialiseren, echter dat heeft weer licentietechnische gevolgen, het mag natuurlijk niet veel kosten, dus dat is waarschijnlijk geen optie, maar ik noemde zodat er misschien wat ervaringen geplaatst zouden worden...;)
Ik weet niet wat je wilt vertellen maar wat je hier letterlijk zegt is onzin. Assemblies communiceren niet stand-alone en als je remoting bedoelt heb je geen licensie perikelen.
Oh en niet teveel kosten? Je zit met 80 man aan een project te werken. Dat gaat tonnen kosten. Oh en huur een ervaren projectleider in die er niet voor terugdeinst developers uit het project te gooien wanneer ze guidelines niet in acht nemen, want anders zit je over een jaar nog ong. in dezelfde situatie.
[
Voor 28% gewijzigd door
EfBe op 12-01-2005 09:44
]