Accelerated C++: Practical Programming by Example, Andrew Koenig and Rules, Guidelines, and Best Practices, Herb Sutter and Andrei Alexandrescu. Consistent, high-quality coding standards improve software quality, reduce time- to-market, promote teamwork, eliminate by Andrei Alexandrescu, Herb Sutter. Consistent, high-quality coding standards improve software quality, reduce time- to-market, promote teamwork, eliminate time wasted on inconsequential matters .
|Published (Last):||10 June 2004|
|PDF File Size:||2.69 Mb|
|ePub File Size:||17.61 Mb|
|Price:||Free* [*Free Regsitration Required]|
Prefer composition to inheritance. Don’t sweat the small stuff. Assert liberally to document internal assumptions and invariants Prefer function objects over functions as algorithm and comparer arguments.
Take parameters appropriately by value, smart pointer, or reference Whenever it makes sense, provide a no-fail swap and provide it alexahdrescu.
C++ Coding Standards: Rules, Guidelines, and Best Practices [Book]
Use explicit RAII and smart pointers. Don’t use unions to reinterpret representation. Consider Clone instead of copying in base classes Distinguish between errors and non-errors The topical sections it covers are: What are the best ways to code for scalability?
Make base class destructors public and virtual, or protected and nonvirtual Report, handle, and translate errors appropriately. Know when and how to code for concurrency Prefer minimal classes to monolithic classes What rules should you follow to ensure type-safe code? Prefer the canonical form of assignment.
C++ Coding Standards: 101 Rules, Guidelines, and Best Practices
Make header files self-sufficient. The work is protected by local and international copyright laws and is provided solely for the use of instructors in teaching their courses and assessing student learning.
Always write internal include guards.
Don’t use C-style casts. Store only values and smart pointers in containers. Until now, this body of knowledge has been available only as folklore or spread in bits and pieces throughout books.
Assert liberally to document internal assumptions and invariants.
Avoid calling virtual functions in constructors and destructors. Define and initialize member variables in the same order Declare variables as locally as possible. Sytter to use exceptions to report errors Prefer providing abstract interfaces.
Inherit, not to reuse, but to be reused Don’t write unintentionally nongeneric code. You have successfully signed out and will be required to sign back in should you need to download more resources.
Click on a series title to see the full list of products in the series. Blend static and dynamic polymorphism judiciously. Preview this title online.