2013-08-14

Effective Java

Effective Java, second edition. Joshua Bloch. Книга - однозначный маст-рид и маст-хэв для любого явиста. 78 советов, сгруппированные в 11 разделов покрывают общирнейший кусок java версии 6. Книга посвящена практикам написания безоопасного и сопровождаемого кода.

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

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

Прежде всего узнал и углубил понимание нескольких моментов. Узнал новые термины. Пару глав не понял ввиду отсутствия практики, поставил закладки, они ждут своего часа.

Эта книга может стать настольным инструментом любого сеньер-девелопера, делающего ревью кода: на типичные проблемы можно просто давать ссылки - например, смотри раздел 2, главу 5.

Ява прошла десятилетия эволюции, при этом сохранив совместимость кода. Некоторые вещи были неясны создателям языка на заре платформы. Даже питонисты постепенно удаляют deprecated код. В яве же, все архитектурные ошибки двадцатилетней давности до сих пор живут, как памятник совместимости. В книге автор подробно разбирает такие моменты: например мутабельность Date, несоответствие собственным стандартам и прочее - очень много.

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

“I sure wish I had this book ten years ago. Some might think that I don’t need
any Java books, but I need this one.”
—James Gosling, fellow and vice president, Sun Microsystems, Inc., and
inventor of the Java programming language