When it comes to organizing my code, I personally find the module pattern to be quite effective. If you're interested, I recommend checking out this article for a solid introduction:
The module pattern helps keep my global scope clean, allows for namespacing, and makes it easy to distinguish between public and private methods and fields.
In terms of file organization, I like to separate my code into different files while aiming to minimize coupling and maximize cohesion. While using multiple files can slow down client performance due to increased requests, combining them with a compression tool can provide the best of both worlds.
I've had some experience with YUI Compressor, although I haven't personally used the Maven plugin mentioned here: . To ensure specific order of JavaScript files (and CSS), creating a shell script to concatenate them in advance can be helpful (Tip: YUI Compressor defaults to STDIN).
Ultimately, how you minify your files is less important than how you structure your code for optimal client performance and maintainability. It's essential to prioritize user experience while finding a coding approach that works best for you.
You mention the importance of namespaces, which is valid, but I suggest not relying too heavily on traditional object-oriented concepts and instead explore the unique features of JavaScript language :)