C++ Coding Standards: 101 Rules, Guidelines, and Best Practices
by Herb Sutter, Andrei Alexandrescu
Namespaces and Modules
Systems have sub-systems and sub-systems have sub-systems and so on ad infinitum—which is why we’re always starting over.
—Alan Perlis
The namespace is an important tool for managing names and reducing name collisions. So is a module, which is additionally an important tool for managing releases and versioning. We define a module as any cohesive unit of release (see Item 5) maintained by the same person or team; typically, a module is also consistently compiled with the same compiler and switch settings. Modules exist at many levels of granularity that range widely in size; a module can be as small as a single object file that delivers a single class, to a single shared or dynamic library generated from multiple source ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access