4 книги от Иван Иван
Здесь пылиться всё, что есть у меня на книжной полке у рабочего стола. Часть из этого я уже прочитал, а часть, быть может, прочту в ближайшем будущем.
Приемы объектно-ориентированного проектирования. Паттерны проектирования - Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес

1. Приемы объектно-ориентированного проектирования. Паттерны проектирования Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес

В предлагаемой книге описываются простые и изящные решения типичных задач, возникающих в объектно-ориентированном проектировании. Паттерны появились потому, что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. Найденные решения воплощены в краткой и легко применимой на практике форме. Авторы излагают принципы использования паттернов проектирования и приводят их каталог. Таким образом, книга одновременно решает две задачи. Во-первых, здесь демонстрируется роль паттернов в создании архитектуры сложных систем. Во-вторых, применяя содержащиеся в справочнике паттерны, проектировщик сможет с легкостью разрабатывать собственные приложения.

Издание предназначено как для профессиональных разработчиков, так и для программистов, осваивающих объектно-ориентированное проектирование.

Чистый код. Создание, анализ и рефакторинг. Библиотека программиста - Роберт Мартин

2. Чистый код. Создание, анализ и рефакторинг. Библиотека программиста Роберт Мартин

Даже плохой программный код может работать. Однако если код не является "чистым", это всегда будет мешать развитию проекта и компании-разработчика, отнимая значительные ресурсы на его поддержку и "укрощение".
Эта книга посвящена хорошему программированию. Она полна реальных примеров кода. Мы будем рассматривать код с различных направлений: сверху вниз, снизу вверх и даже изнутри. Прочитав книгу, вы узнаете много нового о коде. Более того, вы научитесь отличать хороший код от плохого. Вы узнаете, как писать хороший код и как преобразовать плохой код в хороший.
Книга состоит из трех частей. В первой части излагаются принципы, паттерны и приемы написания чистого кода; приводится большой объем примеров кода. Вторая часть состоит из практических сценариев нарастающей сложности. Каждый сценарий представляет собой упражнение по чистке кода или преобразованию проблемного кода в код с меньшим количеством проблем. Третья часть книги - концентрированное выражение ее сути. Она состоит из одной главы с перечнем эвристических правил и "запахов кода", собранных во время анализа. Эта часть представляет собой базу знаний, описывающую наш путь мышления в процессе чтения, написания и чистки кода.

Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих - Бхаргава Адитья

3. Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих Бхаргава Адитья

Алгоритмы - это всего лишь пошаговые алгоритмы решения задач, и большинство таких задач уже были кем-то решены, протестированы и проверены. Можно, конечно, погрузится в глубокую философию гениального Кнута, изучить многостраничные фолианты с доказательствами и обоснованиями, но хотите ли вы тратить на это свое время? Откройте великолепно иллюстрированную книгу и вы сразу поймете, что алгоритмы - это просто. А грокать алгоритмы - это веселое и увлекательное занятие.

C# 8.0. Карманный справочник - Джозеф Албахари, Бен Албахари

4. C# 8.0. Карманный справочник Джозеф Албахари, Бен Албахари

Когда вам нужны ответы на вопросы по программированию на языке C# 8.0, этот узкоспециализированный справочник предложит именно то, что необходимо знать - безо всяких длинных введений или раздутых примеров. Легкое в чтении и идеальное в качестве краткого справочника, данное руководство поможет опытным программистам на C#, Java и C++ быстро ознакомиться с последней версией языка C#.
Все программы и фрагменты кода, рассмотренные в книге, доступны в виде интерактивных примеров в LINQPad. Вы можете их редактировать и немедленно видеть результаты без необходимости в подготовке проектов в Visual Studio. Эта книга написана авторами книги C# 7.0. Справочник. Полное описание языка и раскрывает все особенности языка C# 8.0.
Основные темы книги
* Фундаментальные основы языка C# и новые возможности версии C# 8.0
* Более сложные темы: перегрузка операций, ограничения типов, итераторы, типы, допускающие null, подъем операций, лямбда-выражения и замыкания
* Язык LINQ: последовательности, отложенное выполнение, стандартные операции запросов и выражения запросов
* Небезопасный код и указатели, специальные атрибуты, директивы препроцессора и XML-документация

Джозеф Албахари - автор предыдущих изданий книг C# in a Nutshell и C# Pocket Reference, а также книги LINQ Pocket Reference. Он разработал LINQPad - популярную утилиту для подготовки кода и проверки запросов LINQ.
Бен Албахари - соавтор предыдущих изданий книг C# in a Nutshell и в прошлом руководитель команды разработчиков Entity Framework в Microsoft.

Мнения