Mar 30

Собственно, в понедельник дочитал я эту книгу… Читается, как и “Getting Real” очень легко - никаких тебе сложных формул или примеров с кодами - практически обычная художественная литература с огромным уклоном в IT.  :) Всем, кто хоть как-то касается IT - практически must read, остальным - по желанию.

В книге освещаются довольно интересные вопросы как по технологиям программирования (в частности, .NET), так и советы по устройству распорядка своего рабочего дня, как рекомендации о том, как выбирать сотрудников себе на фирму, так и рассказы о Unicode и “законе дырявых абстракций”. Кстати, все (или практически все) рассказы из этой книги были сначала опубликованы на блоге Джоела, который я тоже советую читать всем, кто “хочет знать больше”.

PS. Линуксоидам читать обязательно! Почему - увидите. :) 

PPS. В этой книге некоторые вещи подаются в представлении, абсолютно ортогональном тому, про которое рассказывает “Getting Real“. И если вы после прочтения обоих книг впадете в ступор - я вас предупредил! ;)

written by FX Poster \\ tags:

Mar 17

Прочел на днях книгу “Getting Real” небезызвестной компании 37signals (разработчики RubyOnRails, Basecamp и еще ряда проектов). В книге рассказывается о подходах к разработке ПО в компании, о том, что “лучше делать мало”, что “лучше быть маленькими и не стесняться этого” и так далее - пересказывать смысла нет - лучше прочтите, благо, книга небольшая (у меня после распечатывания получилось ~65 страниц).

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

PS. Существует и русский перевод

written by FX Poster \\ tags:

Mar 12

С момента прочтения Design Patterns прошло уже довольно много времени и сейчас я вам хочу рассказать о книге, которую читал довольно долгое время (у меня чтение книг обычно происходит, когда я засыпаю - читаю по пол часа в кровати уже), и которая мне очень понравилась - это “Рефакторинг с использованием шаблонов” Джошуа Кериевски:

Как можно понять из названия - книга рассказывает о рефакторингах, в которых используются шаблоны, а именно о том, в каких случаях можно (или нужно) использовать определенный шаблон, и, самое главное, как его ввести в существующую систему. Каждый рефакторинг описывается следующим образом:

  • Описывается ситуация, которая существует к некоторому моменту разработки системы, описываются проблемы, и в чем может помочь определенный шаблон в данном случае
  • Описывается введение шаблона в систему (т.е. применение рефакторинга) как последовательность более мелких (очевидных или описанных в книге Мартина Фаулера “Рефакторинг”) рефакторингов
  • Приводится пример, в котором эта последовательность выполняется
  • Приводятся плюсы и минусы данного рефакторинга

Мне книга очень понравилась - всё просто, понятно (для тех кто в теме про шаблоны ;)) и очень интересно. Читается на ура. И хотя многие рефакторинги, на первый взгляд, выглядят достаточно очевидными, всегда можно допустить где-нибудь ошибку, а благодаря точным последовательностям применения рефакторингов - вероятность ошибки становится очень мала.

В общем и целом, книгу - однозначно себе в коллекцию!

written by FX Poster \\ tags:

Nov 10

Тут подумал… У меня на компьютере довольно большая библиотека книг по программированию (C++, PHP, Python, C#, Java, Ruby и т.д.). Если нужна какая-нибудь книга - пишите, выложу.

written by FX Poster \\ tags:

Oct 08

Наконец-то дочитал Design Patterns. Читал долго. То времени не было, то не до этого было. Но все это уже в прошлом. И пришло время рассказать о книге тем, кто её еще не читал.

Методология ООП заключается в том, что программа представляет собой определенное количество обьектов, которые во время выполнения программы взаимодействуют друг с другом. Собственно об этой методологии и идет речь в книге. Но не о программировании как таковом, а о проектировании, о том, как в том или ином случае компоновать обьекты, где лучше использовать наследование, а где - делегирование (перепоручение обязанностей другому обьекту), как инкапсулировать алгоритм в обьект, добавив ему, тем самым, возможность иметь собственные данные и т.д. Обо всем этом и многом другом рассказывается на страницах этой книги.

Если вы не знаете что такое ООП, либо просто не сталкивались с ним никогда на практике эта книга подходит как никогда. В отличии от OOA&D Гради Буча, авторы не заваливают читателя терминами, но некоторое представление о том, что мы хотим получить и какими общими способами будем пользоваться, она дает. После прочтения вводной главы (основы ООП) и главы, в которой проектируется реальное приложение (текстовый редактор), - понимаешь, в чем, собственно, суть ООП и начинаешь знакомится с некоторыми паттернами. Что такое паттерн? Общее определение таково - “Паттерн - это описание взаимодействия обьектов и классов, адаптированных для решения общей задачи проектирования в конкретном контексте”. Хотите подробнее - читайте книгу.

Во второй (по логике, а не по главам :) ) и самой большой части книги находится справочник, в котором приведены и разобраны до мельчайших подробностей сами паттерны. Авторы сами предполагают, что книга будет использоваться именно в качестве справочника по паттернам и во многом они правы - какой именно паттерн использовать в конкретной ситуации вам может подсказать лишь подробное чтение всего про подходящии вам паттерны, взвешивашия всех “за” и “против”. Т.е. будьте готовы, что после чтения книги вы к ней не раз еще вернетесь. Не спешите ставить её куда-нибудь далеко, пусть лучше она будет где-нибудь на виду и напоминать о себе - хороший и легко сопровождаемый код должен быть везде! :)

Приятного чтения! ;)

written by FX Poster \\ tags: