I've gotten in the habit of using named namespaces rather than anonymous ones because it plays better with debuggers.  The only way to set a breakpoint on a function in an anonymous namespace, as far as I can tell, is to look up the line that it's on, and set a breakpoint there.

It also makes it more straight-forward to expose certain functions to be unit-tested (it'll be tricky with these, but in principle...).