C
C#3y ago
Dropps

Project Structure

how would you guys structure a big project (planning on making a general purpose game engine) wich uses 3 base projects (Editor CoreLibrary Launcher) (windows only) in terms of folder strucutre nameing conventions and overall referencing there could be a better way than this i belive:
8 Replies
Dropps
DroppsOP3y ago
(its alrdy about 5million LOC but i wanna refactor the entire project strucutre to maybe get a performance boost on it)
Grault
Grault3y ago
As a rule, every solution I make gets a Common project for utilities consumed by all projects, and generally these are domain-independent things that would fit just as well in any other solution. If I need a bunch of math operations specific to the domain, those might go in another project that gets consumed by multiple other projects. If I'm using a database, that probably goes in a Repository project. Mostly it depends what you need, and which projects need it.
Dropps
DroppsOP3y ago
uhh kind of hard to explain how it currently is but ima try it out the Core project has all logic in it everything thats somehow need processing or methods the Launcher and Editor are entirely UI projects in those files are only UI depended dataproviders no logic or anything that gets all importet by the core project
Grault
Grault3y ago
OK, so Core is getting all of what I would call Common or Repository or whatnot. My reason for not doing something like that is that splitting it into multiple projects helps me enforce separation of concerns, so no class is branching out in responsibilities in inappropriate ways because it's convenient. However, I'm not generally in a context where the overhead of loading multiple assemblies matters.
Dropps
DroppsOP3y ago
well ive had some ppl in a other server suggesting me to split it up into each type 1 csproj file so all interfaces go into one project all models get into one all enums all services etc wich i really doubt is good
Grault
Grault3y ago
No, a project for each kind of type is silly. But that's the only thing that stuck out to me as notable. I have no ideas about folder structure, and would expect it to be very fluid as the project develops.
Dropps
DroppsOP3y ago
hmm thanks alot still maybe someone else has a idea too
Grault
Grault3y ago
Yep.
Want results from more Discord servers?
Add your server