Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Advice for keeping large C++ project modular? [closed]

Our team is moving into much larger projects in size, many of which use several open source projects within them.

Any advice or best practices to keep libraries and dependancies relatively modular and easily upgradable when new releases for them are out?

To put it another way, lets say you make a program that is a fork of an open source project. As both projects grow, what is the easiest way to maintain and share updates to the core?

Advice regarding what I'm asking only please...I don't need "well you should do this instead" or "why are you"..thanks.

like image 614
Jay Avatar asked Apr 04 '10 22:04

Jay


1 Answers

With clones of open source projects one of your biggest headaches will be keeping in sync/patched according to the upstream sources. You might not care about new features, but you will sure need critical bug fixes applied.

My suggestion would be to carefully wrap such inner projects into shared libraries, so you can more or less painlessly upgrade just those parts if the ABI is not broken by the changes.

One more thing - if you find and fix bugs in an open source project - don't keep the fixes to yourself. Push the patches upstream. That will make the project better and will save you days of merging with a new version.

like image 188
Nikolai Fetissov Avatar answered Sep 27 '22 02:09

Nikolai Fetissov