C++ Best Practices: 45ish Simple Rules with Specific Action Items for Better C++
- Length: 153 pages
- Edition: 1
- Language: English
- Publisher: Independently published
- Publication Date: 2021-01-11
- ISBN-10: B08SJSZKJ5
- ISBN-13: 9798690792589
- Sales Rank: #465494 (See Top 100 Books)
Level up your C++, get the tools working for you, eliminate common problems, and move on to more exciting things!As a C++ developer and trainer for 20 years, I have learned that there are many common mistakes that C++ developers of all experience levels make. This book distills that experience down into the most important things to address to make your code faster, easier to maintain, and more portable.Most sections have one or more exercises that help you apply what is discussed in a practical way in the code you are currently working onThis book is intentionally concise! Expect short sections for each item! I use as few words as possible to get across the point and get you applying what you learned to your code.If you follow me and watch all of my talks this book will present little new information to you. Why should you buy it then? Because I’ve consolidated the most important items and given you exercises to apply the rules in your code.
Title Page Table of Contents 1 Introduction 2 About Best Practices 3 Use the Tools: Automated Tests 4 Use the Tools: Continuous Builds 5 Use the Tools: Compiler Warnings 6 Exercise: Use the Tools: Static Analysis 7 Use the Tools: Sanitizers 8 Slow Down 9 C++ Is Not Magic 10 C++ Is Not Object-Oriented 11 Learn Another Language 12 const Everything That’s Not constexpr 13 constexpr Everything Known at Compile Time 14 Prefer auto in Many Cases. 15 Prefer ranged-for Loop Syntax Over Old Loops 16 Use auto in ranged for loops 17 Prefer Algorithms Over Loops 18 Don’t Be Afraid of Templates 19 Don’t Copy and Paste Code 20 Follow the Rule of 0 21 If You Must Do Manual Resource Management, Follow the Rule of 5 22 Don’t Invoke Undefined Behavior 23 Never Test for this To Be nullptr, It’s UB 24 Never Test for A Reference To Be nullptr, It’s UB 25 Avoid default In switch Statements 26 Prefer Scoped enums 27 Prefer if constexpr over SFINAE 28 Constrain Your Template Parameters With Concepts (C++20) 29 De-template-ize Your Generic Code 30 Use Lippincott Functions 31 Be Afraid of Global State 32 Make your interfaces hard to use wrong. 33 Consider If Using the API Wrong Invokes Undefined Behavior 34 Use [[nodiscard]] Liberally 35 Use Stronger Types 36 Don’t return raw pointers 37 Prefer Stack Over Heap 38 No More new! 39 Know Your Containers 40 Avoid std::bind and std::function 41 Skip C++11 42 Don’t Use initializer_list For Non-Trivial Types 43 Use the Tools: Build Generators 44 Use the Tools: Package Managers 45 Improving Build Time 46 Use the Tools: Multiple Compilers 47 Fuzzing and Mutating 48 Continue Your C++ Education 49 Thank You 50 Bonus: Understand The Lambda
Donate to keep this site alive
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.