Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Is it really helpful to have different components of the same project in separate repositories? Are they really that independent? Four independent components for a single window manager seems a bit high to me.

Regarding modularization, I tend to prefer Fowler's criterium that a component should contain code which is usually changed together. So, if you have one component where 95% change slowly and 5% change often, you should split it. However, if you have two components that you almost always have to change at the same time, you should merge them.



That's why I split it. The window system interface is pretty much done. The main module won't change by much.

95% of the work is done in the core module. The main module is merely for the executable and rarely changes.

I've split it up because the xlib (and future wayland) modules need to refer to the core as a library, so the main module has nothing to do there.

Though I admit that part of the reason is earlier attempts with dynamic libraries, but that was more hassle than it needed to be.

I could merge the core back into the main module, but I'll wait a bit until I do that, just to be sure.


You could take advantage of having a single git repo for multiple cargo packages. This has worked extremely well for me. It was a lot easier having a single git repo to manage and control but still have separate packages for each of the different pieces. You could have the main package become the executable and have the core and various other packages in there, too.


I've seen this done in many Rust repositories on Git. I would also suggest to look into this (single repo, multiple Cargo crates in seperate folders).


Thanks, I will look into it. But tomorrow at the earliest. Today I'm out to celebrate the last ever exam I just passed.


Congratulations!


And done




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: