LitMy.ru - литература в один клик

Modern C++ Design: Become a Skilled C++ Designer

  • Добавил: literator
  • Дата: 28-12-2021, 06:04
  • Комментариев: 0
Modern C++ Design: Become a Skilled C++ DesignerНазвание: Modern C++ Design: Become a Skilled C++ Designer
Автор: StuDenT
Издательство: Amazon.com Services LLC
Год: 2021
Страниц: 336
Язык: английский
Формат: pdf, azw3, epub
Размер: 10.2 MB

This book is about programming design. However, unlike many books on this topic, this book teaches design by exploration rather than design by instruction. Typically, most authors writing about some aspect of design establish principles they wish to convey, lay out these principles in the abstract, and then proceed to give examples supporting the current points. This is not such a book. Rather, this book defines a practical problem to be solved, and proceeds to examine its solution in detail. That is, instead of deciding on a topic and creating trivial examples to support its teaching, I have defined a hard problem and then let the solution of this problem dictate what topics should be discussed.

Interestingly enough, the above approach is exactly how I would tell someone not to learn a subject. I always stress that people should learn broad fundamentals first and subsequently apply these principles to solving problems. However, this is not a book meant to teach the principles of design. Rather, this is a book meant for someone who already knows the fundamentals but wishes to deepen his knowledge of practice. This is a book meant to teach someone the craft of designing and implementing a realistic, albeit small, program from start to finish. This process involves more than knowing elements of design. It involves understanding when and how to use what you know, understanding how to decide between seemingly equivalent approaches, and understanding the long-term implications of various decisions. This book is not comprehensive in its coverage of data structures, algorithms, design patterns, or C++ best practices; volumes of books exist to cover these topics. This is a book about learning how to apply this knowledge to write code that is organized, cohesive, sensible, purposeful, and pragmatic. In other words, this book is about learning to write code that both gets the job done now (development) and allows others to continue to get the job done in the future (maintenance). This, I have termed practical design.

Throughout the text of this book, you will be examining a lot of code snippets as we design our calculator. Most of these code snippets are taken directly from pdCalc’s GitHub source repository (see Appendix A for instruction for downloading the source code). I will point out any significant differences between the code in the text and the code in the repository. Occasionally, code snippets are comprised of small, contrived examples. These code snippets are not part of pdCalc’s source repository. All of the code is made available under the GPL version 3. I highly encourage you to experiment with the source code and modify it in any way you see fit.

In order to build pdCalc, you will need access to a C++14 compliant compiler and Qt (version 4 or 5). Since the project has an intrinsic Qt dependency (and because I like the Qt Creator IDE), I used Qt project files for the build system and Qt Test for the unit testing framework. I have built and tested the program on both Linux and Windows using gcc/mingw, but the code should also build and execute on additional systems or with additional compilers with little or no source code modification. Some tweaks to the qmake project files will be necessary for porting to a different platform. Because I expect that the audience for this book leans toward developers with years of experience, I suspect that building the code from source will be a fairly trivial task.

Скачать Modern C++ Design: Become a Skilled C++ Designer












[related-news] [/related-news]
Внимание
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.