Consistent, high-quality coding standards improve software quality, reduce time-to-market, promote teamwork, eliminate time wasted on inconsequential matters, and simplify maintenance. Now, two of the world's most respected C++ experts distill the rich collective experience of the global C++ community into a set of coding standards that every developer and development team can understand and use as a basis for their own coding standards.
The authors cover virtually every facet of C++ programming: design and coding style, functions, operators, class design, inheritance, construction/destruction, copying, assignment, namespaces, modules, templates, genericity, exceptions, STL containers and algorithms, and more. Each standard is described concisely, with practical examples. From type definition to error handling, this book presents C++ best practices, including some that have only recently been identified and standardized-techniques you may not know even if you've used C++ for years. Along the way, you'll find answers to questions like
-
What's worth standardizingand what isn't?
-
What are the best ways to code for scalability?
-
What are the elements of a rational error handling policy?
-
How (and why) do you avoid unnecessary initialization, cyclic, and definitional dependencies?
-
When (and how) should you use static and dynamic polymorphism together?
-
How do you practice "safe" overriding?
-
When should you provide a no-fail swap?
-
Why and how should you prevent exceptions from propagating across module boundaries?
-
Why shouldn't you write namespace declarations or directives in a header file?
-
Why should you use STL vector and string instead of arrays?
-
How do you choose the right STL search or sort algorithm?
-
What rules should you follow to ensure type-safe code?
Whether you're working alone or with others, C++ Coding Standards will help you write cleaner codeand write it faster, with fewer hassles and less frustration.