Cantitate/Preț
Produs

C++ Core Guidelines Explained

Autor Rainer Grimm
en Limba Engleză Paperback – 22 apr 2022

În industria dezvoltării de sisteme critice, software de înaltă performanță și aplicații embedded, C++ rămâne pilonul central, însă complexitatea sa necesită o abordare disciplinată. Volumul C++ Core Guidelines Explained servește drept ghid tehnic riguros pentru setul oficial de bune practici inițiat de creatorul limbajului, Bjarne Stroustrup. Notăm cu interes faptul că Rainer Grimm nu se limitează la a lista regulile, ci le contextualizează prin exemple de cod derivate din experiența sa vastă în cursuri și seminare profesionale. Structura cărții este organizată logic, începând cu filosofia din spatele ghidurilor, urmată de capitole aplicate pe componentele esențiale ale limbajului: interfețe, funcții, clase și managementul resurselor. Merită menționat modul în care autorul abordează „blestemul” variabilelor globale non-const și soluția prin dependency injection, oferind o progresie clară de la concepte de bază la mecanisme avansate precum semantica de mutare și ierarhiile de clase complexe. Complementar volumului Beautiful C++: 30 Core Guidelines for Writing Clean, Safe, and Fast Code, care oferă o perspectivă mai narativă asupra beneficiilor acestor reguli, lucrarea de față este mai exhaustivă, acoperind un spectru mult mai larg de scenarii tehnice și oferind conexiuni directe cu standardele viitoare C++20 și C++23. Recomandăm această resursă pentru capacitatea sa de a transforma un set de reguli abstracte într-un instrument de lucru cotidian. Spre deosebire de Effective Modern C++, care se concentrează pe utilizarea eficientă a noilor funcționalități de limbaj, C++ Core Guidelines Explained vizează arhitectura și mentenabilitatea pe termen lung a întregului sistem software.

Citește tot Restrânge

Preț: 25705 lei

Preț vechi: 32132 lei
-20%

Puncte Express: 386

Carte disponibilă

Livrare economică 04-18 mai
Livrare express 18-24 aprilie pentru 4132 lei


Specificații

ISBN-13: 9780136875673
ISBN-10: 013687567X
Pagini: 528
Dimensiuni: 181 x 232 x 20 mm
Greutate: 0.67 kg
Editura: Pearson Education

De ce să citești această carte

Recomandăm această carte programatorilor C++ care doresc să treacă de la scrierea codului care „funcționează” la scrierea codului robust, modern și ușor de întreținut. Cititorul câștigă o înțelegere profundă a standardelor C++11/14/17 și o pregătire pentru C++20. Este o investiție esențială pentru echipele care lucrează pe sisteme legacy și doresc să modernizeze baza de cod fără a introduce vulnerabilități sau regresii de performanță.


Despre autor

Rainer Grimm este un specialist recunoscut la nivel internațional în limbajul C++, cu o experiență de peste două decenii în dezvoltare software și instruire tehnică. Este cunoscut pentru blogul său influent și pentru seminarele adresate inginerilor software, unde pune accent pe aplicabilitatea practică a standardelor ISO C++. În acest volum, Grimm distilează expertiza acumulată în lucrul cu echipe de dezvoltare pentru a face setul complex de C++ Core Guidelines accesibil și aplicabil în proiecte reale, fiind un susținător activ al modernizării ecosistemului C++.


Descriere scurtă

The C++ Core Guidelines, developed by a team led by C++ creator Bjarne Stroustrup and the chair of the ISO C++ standards committee Herb Sutter, provide consistent best practices for writing modern code with C++17, C++14, and C++11. Now, C++ expert instructor Rainer Grimm offers accessible, practical coverage of the Core Guidelines for working C++ developers. With new insights, indispensable context, and proven C++ examples drawn from his courses and seminars, Grimm helps you get more value from the guidelines, whether you're writing new programs or incrementally improving legacy code. Grimm's wide-ranging coverage addresses C++ programming philosophy, interfaces, functions, classes, class hierarchies, enumerations, resource management, expressions, statements, performance, concurrency, error handling, constants, immutability, templates, generic programming, C-style programming, source files, the Standard Library, and more. Each section links to the original standard online, and wherever appropriate, Grimm previews advances from C++20 and C++23. With Grimm's help, you can use the C++ Core Guidelines to write C++ code that's more consistent, robust, and well-performing -- and easier to maintain and enhance for years to come.

Notă biografică

Rainer Grimm has worked as a software architect, team lead, and instructor since 1999, and offered seminars on C++, Python, and proprietary software since 2002. He writes regularly on C++, Python, and Haskell, speaks at conferences on programming issues, and blogs weekly in English (modernescpp.com) and German (www.grimm-jaud.de/index.php/blog). Now an independent instructor, he offers seminars on modern C++ and Python. He has authored several books on modern C++, concurrency, and related topics.

Cuprins

List of selected C++ Core Guidelines xiii List of figures xxiii List of tables xxvii Foreword xxix Preface xxxi Acknowledgments xxxvii About the author xxxix Part I: The Guidelines 1 Chapter 1: Introduction 3 Target readership 3 Aim 4 Non-aims 4 Enforcement 4 Structure 4 Major sections 5 Chapter 2: Philosophy 7 Chapter 3: Interfaces 15 The curse of non-const global variables 16 Dependency injection as a cure 18 Making good interfaces 20 Related rules 25 Chapter 4: Functions 27 Function definitions 28 Parameter passing: in and out 32 Parameter passing: ownership semantics 38 Value return semantics 42 Other functions 46 Related rules 52 Chapter 5: Classes and Class Hierarchies 53 Summary rules 54 Concrete types 58 Constructors, assignments, and destructors 59 Class hierarchies 98 Overloading and overloaded operators 117 Unions 126 Related rules 129 Chapter 6: Enumerations 131 General rules 131 Related rules 137 Chapter 7: Resource Management 139 General rules 140 Allocation and deallocation 145 Smart pointers 150 Related rules 164 Chapter 8: Expressions and Statements 165 General 166 Declarations 168 Expressions 186 Statements 199 Arithmetic 204 Related rules 210 Chapter 9: Performance 213 Wrong optimizations 214 Wrong assumptions 214 Enable optimization 218 Related rules 230 Chapter 10: Concurrency 231 General guidelines 232 Concurrency 245 Parallelism 266 Message passing 269 Lock-free programming 273 Related rules 277 Chapter 11: Error Handling 279 Design 281 Implementation 283 If you can't throw 288 Related rules 292 Chapter 12: Constants and Immutability 293 Use const 294 Use constexpr 298 Chapter 13: Templates and Generic Programming 301 Use 302 Interfaces 305 Definition 320 Hierarchies 330 Variadic templates 332 Metaprogramming 336 Other rules 362 Related rules 372 Chapter 14: C-Style Programming 375 Entire source code available 376 Entire source code not available 378 Chapter 15: Source Files 383 Interface and implementation files 384 Namespaces 391 Chapter 16: The Standard Library 397 Containers 398 Text 404 Input and output 411 Related rules 419 Part II: Supporting Sections 421 Chapter 17: Architectural Ideas 423 Chapter 18: Nonrules and Myths 427 Chapter 19: Profiles 437 Pro.typeType safety 438 Pro.boundsBounds safety 439 Pro.lifetimeLifetime safety 439 Chapter 20: Guidelines Support Library 441 Views 441 Ownership pointers 442 Assertions 443 Utilities 443
Part III: Appendixes 445 Appendix A: Enforcing the C++ Core Guidelines 447 Visual Studio 448 clang-tidy 450 Appendix B: Concepts 453 Appendix C: Contracts 457 Index 459