14 industry programming specifications and books
The principle of standardized programming for this time is that the refinement is not comprehensive, mainly aimed at the outstanding issues in Huawei's current coding, so it is unavoidable to be comprehensive.
Lack. Some companies and organizations in the industry have also released some programming specifications.Programming LanguageDefects and use risks are well described.
Here, we will make some simple recommendations. If you are interested, you can refer to them to improve your programming skills.
14.1 industry programming specifications
14.1.1 Google C ++ code style (Google C ++ programming guide)
A copy of the C ++CodeStandard document.
Google developers think that C ++ is a giant language that contains a large number of advanced features. In some cases, they may restrict or even disable the use of a certain
To simplify the code and avoid various problems.
Including header files, naming rules, comments, rules for using language features, encoding formats, and so on.
Features: adhere to the rules based on understanding. A rule usually clearly describes its advantages and disadvantages, and provides many examples to help readers understand
It is not as blunt and abstract as the rules and regulations. In fact, it is more like a tutorial.
For example, it is easy to understand whether C ++ is prohibited from being used.
14.1.2 101 C ++ programming specifications rules, guidelines and best practices
This programming specification embodies two well-known C ++ experts (satat (herb Sutter) who once served as the Chairman of the iso c ++ Standards Committee; Alexander
Andrei Alexandrescu, the world's top C ++ expert, and 20 years of collective wisdom and experience in the global C ++ field.
The book provides a precise description of each Specification, supplemented by instance instructions. From type definition to error handling, it covers C ++ProgramSet
Provides the best practices for every aspect of the solution. Even programmers who have been using C ++ for many years have benefited a lot.
Includes: Design and encoding style, function, operator, class design, inheritance, structure and structure, assignment, namespace,
Module, template, generic, exception, STL container, andAlgorithm.
14.1.3 Microsoft all-in-one code framework Microsoft one-stop sample code library
Microsoft all-in-one code frameworkCommunityTechnical Support Team presentation,
According to the developers' most concerned and worried questions collected by the msdn Forum, popular social networks, and multiple developer communities, write the appropriate generation
Code example, and release updates in a short cycle for developers to download reference. The sample code helps the community developers
High development efficiency, reduce possible bugs in the code, and enhance the maintainability of the Code.
Highlights the characteristics of high-quality code examples: 1. easy to understand; 2. correctness; 3. consistency; 4. popularity; 5. reliability; 6. Security.
Contents: 1. General programming specifications-provides global guidance on code styles, formats, and structures; 2. c ++ programming specifications;
3. Net encoding specification.
14.2 extended learning materials
This specification involves a series of C ++ language features and technologies and requires deep learning of relevant knowledge.
Recommended learning but not limited to the following materials:
14.2.1 C ++ Primer
Author: C ++ master Stanley B. Lippman, former director of the C ++ Standards Committee Jos é e Lajoie.
It is recognized by the industry as an authoritative book covering C ++ standards. It provides a complete set of basic programming technologies, object-oriented programming, standard libraries, and generic programming.
. Emphasize important knowledge points, remind common errors, recommend excellent programming practices, give usage tips, and a large number
Examples and exercises.
Recommendation: A Beginner's guide and a reference for skilled practitioners.
Recommendation degree:★★★★★
14.2.2 valid tive C ++/more valid tive C ++
Scott Meyers, the world's top C ++ guru, becomes famous as Objective C ++ (55 specific practices for improving programs and design) and continues
More effective C ++ (35 effective methods to improve programming and design ).
He was named one of the most influential and highly respected books. I have read this book to overcome many obstacles in C ++ and quickly improve the skill of C ++.
I have to read and understand it over and over again.
Each criterion in the book describes a better method for writing C ++ programs. Each clause is backed by a specific example.
Contents include: Changing the old c habits; memory management; constructor, destructor and assignment operators; Class and Function Design
And Declaration; Class and function implementation; inheritance relationship and object-oriented design; templates, and so on.
Suggestion: Some people say that C ++ programmers can be divided into two types: those who have read valid C ++ and those who have not read them.
Recommendation degree:★★★★★
Reference recommended books: exceptional C ++ (by satat), also known as 101 rules, guidelines and best practices for C ++ programming specifications
Can be used as an advanced reader.
14.2.3 valid STL
Another masterpiece by Scott Meyers (author of Objective C ++ and more objective C ++) reveals some of the key rules that have been summarized,
Including the practices that experts always adopt and those that are always avoided.
It focuses on how to use STL. There are 50 guiding principles in total. Scott Meyers provides a thorough introduction to each guiding principle.
Analysis and profound examples, readers can not only learn what to do, but also know when to do so, and
Why.
It mainly includes the following aspects: 1. The recommended container selection involves: Standard STL containers (such as vector and list ),
Non-standard STL containers (such as hash_set and hash_map) and non-STL containers (such as bitset ). 2. Some technologies to improve efficiency,
How to maximize the efficiency of STL programs.
Recommendation language: with these rules, programmers can use STL to the maximum extent.
Recommendation degree:★★★★
Reference recommended books: C ++ new design thinking: Application of generic programming and design patterns, generic programming and STL, as advanced reading
.
14.2.4 inside the C ++ Object Model
Master of C ++ Stanley B. Lippman. The Chinese name "Deep Exploration C ++ Object Model" is translated by Hou Jie.
This book focuses on the underlying mechanism of C ++ object-oriented programming, including structured, temporary object generation, encapsulation, inheritance, and virtual
-- Virtual functions and virtual inheritance. Help programmers understand the underlying implementation, deeply understand the processing behind C ++ and the compiler, and quickly improve
Programming skills, so I know why.
Recommendation: If you want to become a programmer and guide others, you can use this book as an advanced reading material.
Recommendation degree:★★★★