Обзор книги «Думай как программист»

Хочу порекомендовать новичкам книгу Антона Спрола «Думай как программист. Креативный подход к созданию кода. C++ версия». Книга содержит множество задач и вариантов их решения. Кроме того, книга содержит множество практических советов для начинающих программистов.

Об авторе

Автор книги, Антон Спрол, более  15 лет занимается обучением программированию. Персональный сайт vantonspraul.com

Он написал несколько книг по программированию, они переведены на разные языки, включая китайский. В свободное время играет в компьютерные игры, которые написал сам.

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

Общий подход

Начинать работу Спрол рекомендует так:

Начинающим писателям часто дают совет: пишите о том, что знаете…
Точно так же и в программировании, вам следует начинать с чего-то, что вы уже знаете, как реализовать, и продолжать двигаться вперед.

Попробуйте решить самую первую задачу:

Напишите программу, в которой используется только две инструкции вывода: cout << «#» и cout << «\n» для создания узора из символов # в виде половины квадрата 5×5.
#####
####
###
##
#

Повторное использование кода

На мой взгляд глава 7 про повторное использование кода особо полезна. Здесь Спрол различает правильное и неправильное повторное использование. Ключевое отличие — это понимание общей схемы. Тупое копирование чужого кода не имеет большого смысла.

Выражаясь в терминах программирования, хорошее повторное использование кода имеет место, когда вы сами пишете код, основываясь на чьем-то описании обшей концепции, или когда вы используете код, который могли бы написать сами.

При этом Спрол выделяет уровни повторного использования кода:

  1. Фрагмент кода. Взять из одной программы и скопировать в другую.
  2. Алгоритм. Понять алгоритм и реализовать его.
  3. Шаблон. Схема проектирования программы.
  4. Абстрактный тип данных. Некоторая идея, которая может быть реализована как угодно.
  5. Библиотека. Набор готовых решений.

При этом с каждое решение влияет на гибкость и количество усилий согласно следующему графику:

Правильный выбор компонента сильно зависит от опыта программиста.

Мастер-план

Спрол рекомендует для каждой задачи разрабатывать мастер-план ее решения.

В первой главе мы узнали о первом правиле решения задачи, которое заключается в том, чтобы всегда иметь план. Если сформулировать его точнее, то вы всегда должны придерживаться своего плана.
Составьте мастер-план, который максимизирует ваши сильные стороны и сводит к минимуму слабые, а затем примените его к каждой решаемой вами задаче.

Для правильного составления мастер-плана Спрол рекомендует внимательно рассмотреть свои преимущества и недостатки, чтобы объективно настроиться на работу.

Подводя итог. Книга Спрола содержит массу задач для программиста и рекомендации по их решению, поэтому данная книга будет весьма полезна при обучению программированию.

Купить на ОЗОНе.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.