Hi Fabio,
My naive thinking is that you've got two keywords here, one is "reuse" and the other is "upfront". If "reuse" is a goal, I would think that separate compilation of modules would almost certainly be better. As opposed to writing a big "monofile" first and then deciding to split it up into modules, or writing modules first and then deciding to combine them, I would think that "upfront" would be better - although you could do either without "too" much penalty. That's only halfway through my first cup of coffee...
Best,
Frank