Кодовые базы разрастаются, становясь всё сложнее и запутаннее, что не может не пугать разработчиков. Как обнаружить код, изменяющий состояние вашей системы? Как сделать код таким, чтобы он не увеличивал сложность и запутанность кодовой базы? Большую часть «действий», изменяющих состояние, можно превратить в «вычисления», чтобы ваш код стал проще и логичнее. Вы научитесь бороться со сложными ошибками синхронизации, которые неизбежно проникают в асинхронный и многопоточный код, узнаете, как компонуемые абстракции предотвращают дублирование кода, и откроете для себя новые уровни его выразительности. Книга предназначена для разработчиков среднего и высокого уровня, создающих сложный код. Примеры, иллюстрации, вопросы для самопроверки и практические задания помогут надежно закрепить новые знания.

Fatal error: Uncaught Error: Call to a member function fetch_row() on false in /home/user/web/тумба.онлайн/private/versions/ver_5/pages/books_single.php:285 Stack trace: #0 /home/user/web/тумба.онлайн/private/versions/ver_5.php(577): include() #1 /home/user/web/тумба.онлайн/public_html/index.php(200): include('...') #2 {main} thrown in /home/user/web/тумба.онлайн/private/versions/ver_5/pages/books_single.php on line 285