{"id":6175,"date":"2021-07-13T05:58:48","date_gmt":"2021-07-13T05:58:48","guid":{"rendered":"https:\/\/www.modernescpp.com\/index.php\/five-vouchers-for-stephan-roth-s-book-clean-c-20-to-win\/"},"modified":"2021-07-13T05:58:48","modified_gmt":"2021-07-13T05:58:48","slug":"five-vouchers-for-stephan-roth-s-book-clean-c-20-to-win","status":"publish","type":"post","link":"https:\/\/www.modernescpp.com\/index.php\/five-vouchers-for-stephan-roth-s-book-clean-c-20-to-win\/","title":{"rendered":"Five Vouchers for Stephan Roth&#8217;s Book &#8220;Clean C++20&#8221; to Win"},"content":{"rendered":"<p>I give away five vouchers for Stephan Roth&#8217;s book &#8220;Clean C++20&#8221;, sponsored by the book&#8217;s publisher Apress.<\/p>\n<p><!--more--><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-6174\" src=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2021\/07\/roth-cleancpp20-cover.jpg\" alt=\"roth cleancpp20 cover\" width=\"400\" height=\"571\" style=\"display: block; margin-left: auto; margin-right: auto;\" srcset=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2021\/07\/roth-cleancpp20-cover.jpg 400w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2021\/07\/roth-cleancpp20-cover-210x300.jpg 210w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/p>\n<p>There are very many books on the market \u2013 some of them written by me \u2013 that offer an introduction to the C++ programming language (so-called Primer), or that provide a deep dive into specific concepts of the language. But to realize a complex software development project with an extensive C++ codebase, it is usually not enough to know the language and its possibilities. There are a lot of things on a higher abstraction level that developers must take into consideration, e.g. architectural decisions and software design, dependency management, how to modularize the code base, maintainability, readability of the code, and so on. <\/p>\n<h2>Clean C++20<\/h2>\n<p><span data-preserver-spaces=\"true\">In his book &#8220;Clean C++20&#8221; (2nd edition; published by Apress Media LLC, New York), Stephan Roth sheds light on precisely these aspects necessary to write readable, easily maintainable, and extensible code in C++. It is not an introduction to the language for beginners but an excellent extension to introductory literature. It conveys principles, practices, and patterns to keep a C++ codebase in good shape. Only if the code is clean, changes and extensions are easy, and require little effort. At the end of the day, the goal of clean code is to keep the added value of a development organization on a high level. And it&#8217;s also more fun for developers to work with a clean codebase. <br \/><\/span><\/p>\n<h2><span data-preserver-spaces=\"true\">How can you win one of the five vouchers for the book? <\/span><\/h2>\n<p><span data-preserver-spaces=\"true\">This is pretty simple. Just answer the following three questions and send your answers to me: <br \/><\/span><\/p>\n<ol>\n<li><span data-preserver-spaces=\"true\">Are you already familiar with the principles and practices of Clean Code Development, and do you apply them to your C++ code?&nbsp;<\/span><\/li>\n<li><span data-preserver-spaces=\"true\">Do you use unit tests and try to achieve the highest possible test coverage?&nbsp;<\/span><\/li>\n<li><span data-preserver-spaces=\"true\">Are you familiar with the software design method Test-Driven Development (TDD), and do you apply it in your daily work?&nbsp;<\/span><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p><span data-preserver-spaces=\"true\">Please send your answer in English <strong>until Sunday, the 25\/07\/2021<\/strong>, to&nbsp;<\/span><a href=\"mailto:rainer.grimm@ModernesCpp.de\" target=\"_blank\" class=\"editor-rtfLink\" rel=\"noopener\"><\/a><a href=\"mailto:rainer.grimm@ModernesCpp.de\">rainer.grimm@ModernesCpp.de<\/a><span data-preserver-spaces=\"true\">. I publish the winners, including their answers, in a separate post.<\/span><\/p>\n<p>&nbsp;<\/p>\n<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<div id=\"simple-translate\">\n<div>\n<div class=\"simple-translate-button isShow\" style=\"background-image: url('moz-extension:\/\/981aa874-2db4-44d3-a97f-b02a72476831\/icons\/512.png'); height: 22px; width: 22px; top: 303px; left: 30px;\">&nbsp;<\/div>\n<div class=\"simple-translate-panel\" style=\"width: 300px; height: 200px; top: 0px; left: 0px; font-size: 13px; background-color: #ffffff;\">\n<div class=\"simple-translate-result-wrapper\" style=\"overflow: hidden;\">\n<div class=\"simple-translate-move\" draggable=\"draggable\">&nbsp;<\/div>\n<div class=\"simple-translate-result-contents\">\n<p class=\"simple-translate-result\" dir=\"auto\" style=\"color: #000000;\">&nbsp;<\/p>\n<p class=\"simple-translate-candidate\" dir=\"auto\" style=\"color: #737373;\">&nbsp;<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>I give away five vouchers for Stephan Roth&#8217;s book &#8220;Clean C++20&#8221;, sponsored by the book&#8217;s publisher Apress.<\/p>\n","protected":false},"author":21,"featured_media":6174,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[360],"tags":[],"class_list":["post-6175","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"_links":{"self":[{"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/posts\/6175","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/comments?post=6175"}],"version-history":[{"count":0,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/posts\/6175\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/media\/6174"}],"wp:attachment":[{"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/media?parent=6175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/categories?post=6175"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/tags?post=6175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}