Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
roth_stephan_clean_c20_sustainable_software_development_patt-1.pdf
Скачиваний:
25
Добавлен:
27.03.2023
Размер:
7.26 Mб
Скачать

Chapter 1 Introduction

which are relatively well known in the Java environment and in the hip world of web or game development, seem to be largely unknown in the C++ world.

This book tries to close that gap a little, because even with C++, developers can write clean code! If you want to learn about writing clean C++, this book is for you. It is written for C++ developers of all skill levels and shows by example how to write understandable, flexible, maintainable, and efficient C++ code. Even if you are a seasoned C++ developer, there are interesting hints and tips in this book that you will find useful in your work.

This book is not a C++ primer! In order to use the knowledge in this book efficiently, you should already be familiar with the basic concepts of the language. If you just want to start with C++ development and still have no basic knowledge of the language, you should first learn the basic concepts, which can be done with other books or with a good C++ introduction training. This book also does not discuss every single new C++20 language feature, or the features of its predecessors, in detail. As I have already pointed out, the complexity of the language is now relatively high. There are other very good books that introduce the language from A to Z.

Furthermore, this book doesn’t contain any esoteric hack or kludge. I know that a lot of nutty and mind-blowing things are possible with C++, but these are usually not in the spirit of clean code and should not be used to create a clean and modern C++ program.

If you are really crazy about mysterious C++ pointer calisthenics, this book is not for you. Apart from that, this book is written to help C++ developers of all skill levels. It

shows by example how to write understandable, flexible, maintainable and efficient C++ code. The presented principles and practices can be applied to new software systems, sometimes called greenfield projects, as well as to legacy systems with a long history, which are often pejoratively called brownfield projects.

Note  Please consider that not every C++ compiler currently supports all of the new language features, especially not those from the latest C++20 standard, completely.

Conventions Used in This Book

The following typographical conventions are used in this book:

Italic font is used to introduce new terms and names.

8