Placing the declarations of objects and functions with external linkage in a header file documents that they are intended to be accessible from other translation units.
If external linkage is not required, then the object or function shall either be declared in an unnamed namespace or declared ``++static++``.
This will reduce the visibility of objects and functions, which is considered to be good practice.