Обязательная книжная трансляция для профессионалов Java :
У каждого программиста есть несколько книг, которые часто изношены, потому что их часто называют профессиональными материалами. Следующие книги должны быть необходимыми на книжной полке языковых программистов Java. Книги дороги, поэтому я намеренно заключаю этот список коротким и ограниченным важными книгами.
Мышление на Java (Брюс Экель)
Мышление в Java, 3 -е издание (Bruce Eckel; Prentice Hall Ptr, 2002)
Java программирование мыслей : 3 -е издание (перевод Chen Haopeng et al.; Machinery Industry Press, 2005)
Книга Экеля очень полезна для обучения, как использовать объектно-ориентированную технологию в локале Java. Большое количество примеров кода в книге объясняет концепцию, которую он представил. Текст исходит от того, кто не думает, что технология Java всегда является правильным ответом, так что это довольно практично. Экель имеет большой опыт в нескольких языках и солидных навыках, чтобы думать объектно-ориентированным образом. Эта книга ставит эти навыки в практическую Java Locale. Он также пишет новую книгу под названием «Мышление на предприятии Java».
Эффективная Java (Джошуа Блох)
Эффективная Java: Руководство по языку программирования (Джошуа Блох; Addison-Wesley, 2001)
Эффективная китайская версия Java (перевод Pan Aimin; Machinery Industry Press, 2003)
Эта книга - лучшая книга, чтобы понять принципы отличного программирования Java. Большинство материалов просто не найдены в других книгах о «изучении Java». Например, глава о перезаписи equals () в книге Блоха является одним из лучших ссылок, которые я когда -либо читал. Он также включил в книгу очень практические предложения: заменить абстрактные классы на интерфейсы и гибко использовать исключения. Блох является архитектором библиотеки платформы Sun's Java, поэтому он полностью понимает язык. На самом деле, он написал большое количество полезных библиотек на языке. Должен прочитать эту книгу!
Язык программирования Java (Кен Арнольд, Джеймс Гослинг, Дэвид Холмс)
Язык программирования Java (Кен Арнольд, Джеймс Гослинг, Дэвид Холмс; Аддисон-Уэсли, 2000)
Язык программирования Java (3 -е издание) (перевод Yu Wanrong et al., China Electric Power Press, 2003)
Это, пожалуй, лучшее введение Java для вас. Это не стандартная спецификация, а читаемая книга, которая вводит характеристики каждого языка. Книга весит строго и образовательно, что позволяет программистам быстро привлекать к Java Language (и его богатая библиотека).
Параллельное программирование в Java: принципы и модели дизайна (Дуг Ли)
Одновременное программирование в Java: принципы и модели дизайна, 2-е издание (Doug Lea; Addison-Wesley, 1999)
Ява параллельное программирование - принципы и модели проектирования (второе издание) (перевод Zhao Yong et al., China Electric Power Press, 2004)
Не каждый разработчик должен иметь такое тщательное понимание параллелизма, и не каждый инженер может достичь уровня этой книги, но нет лучшего обзора программирования параллелизма, чем эта книга. Если вы заинтересованы в этом, начните здесь. Леа - профессиональный программист в SUNY, а его работы и идеи, связанные с параллелизмом, включены в спецификацию JDK 5.0 (цитируется из JSR166), поэтому вы можете быть уверены, что его совет по эффективному использованию Java стоит заслуживать. Он очень хорош в общении.
Эксперт один на один дизайн и разработка J2EE (Род Джонсон)
Эксперт один на один дизайн и разработка J2EE (Род Джонсон)
WROX: J2EE DESISIC и Руководство по программированию разработки (перевод Wei Haiping, Electronics Industry Press, 2003)
Для тех, кто новичок в J2EE, это единственная книга, которая действительно отражает эту технологию. Эта книга содержит годы успеха и опыта неудачи. В отличие от многих других авторов, Джонсон рад сделать опыт неудачи публично. J2EE часто чрезмерно используется. Книга Джонсона может помочь вам избежать этого.
Рефакторинг (Мартин Фаулер, Кент Бек, Джон Брант, Уильям Опдике, Дон Робертс)
Рефакторинг: улучшение дизайна существующего кода (Мартин Фаулер, Кент Бек, Джон Брант, Уильям Опдике, Дон Робертс;
Аддисон-Уэсли, 1999)
Рефакторинг: улучшение дизайна существующего кода (китайская версия) (перевод Hou Jie et al., China Electric Power Press, 2003)
Фаулер написал несколько самых популярных книг по программированию, которые были опубликованы сейчас, включая анализы. Его книга по реконструкции - основная книга по этому вопросу. Рефакторинг -код - это обучение, которое игнорируется программистами, но это самая интуитивная идея для программистов. Рефакторинг заключается в улучшении проектирования существующего кода без изменения результатов кода. Это лучший способ сохранить ваш код аккуратным, и код, разработанный таким образом, всегда легко изменить. Когда это будет реформировано? Когда код «чувствует вкус». Книга Фаулера полна примеров языкового кода Java. Многие среды интегрированных языков Java (IDES) (включая Eclipse IBM) включают реконструкцию Фаулера, и каждая из них названа с названием реконструкции, поэтому его стоит знакомо с методами реконструкции, такими как метод экстракта.
Дизайн -шаблоны (Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидс)
Образцы дизайна: элементы многоразового объектно-ориентированного программного обеспечения (Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссис; Аддисон-Уэсли, 1997)
Образец проектирования: Основы многоразового объектно-ориентированного программного обеспечения (перевод Li Yingjun et al., Machinery Industry Press, 2005)
Это книга, которая более известна в кругу профессиональных программистов. Основываясь на общем прозвище автора, эта книга считается «бандой из четырех (GOF)». Образцы - это способ повторного использования при размышлении и решении обычных проблем программирования. Учебная модель является предметом. Использование хороших режимов (или знания, когда они не используют их), является навыком. Игнорирование шаблона неправильно. Все примеры в книге представлены в C ++, но оттуда родился язык Java, поэтому относительно просто соединить языковые программисты Java к тому, как реализовать эти шаблоны на языке Java. Будьте знакомы с шаблонами и понимайте, как использовать хорошие шаблоны, чтобы облегчить программирование. Это облегчает общение с другими программистами, потому что в общем решении общих проблем паттерны представляют собой ярлыки для описания большого количества связанных концепций программирования в решении, которое сотрудничает друг с другом. Некоторые более общие методы, такие как заводские методы, существуют в целом и даже существуют на самом языке Java. Для темы использования шаблонов с мудрым использованием, вы также можете прочитать рефакторинг на шаблонах Джошуа Керевского, в котором говорится, что вы можете позволить коду сказать вам, когда реализовать шаблоны.
Шаблоны архитектуры приложения предприятия (Мартин Фаулер)
Образцы архитектуры приложений предприятия (Martin Fowler; Addison-Wesley, 2002)
Модель архитектуры предприятия (перевод Wang Huainin et al., Machinery Industry Press, 2004)
По сравнению с небольшими и одноразовыми проектами, корпоративное развитие, безусловно, представляет собой большую проблему. Это не означает, что все проблемы, возникающие в результате развития предприятий, являются новыми проблемами. На самом деле, иногда эта разработка была завершена раньше. Фаулер сделал много таких проектов. В его книге упоминается некоторые общие решения и предоставляет руководство по использованию, компромиссам и вариантам. Фаулер включает в себя знакомые шаблоны в книге, такие как контроллер представления модели (MVC), а также предоставляет шаблоны, которые вы можете не понять, такие как режим контроллера страниц, который обрабатывает конкретные запросы страницы или запросы на поведение на веб -сайте. Когда вы относитесь к большинству режимов, как только вы прочитаете много режимов, вы думаете: «Я уже знаю этот режим». Может быть, это так, но полезно иметь общее выражение для эталонных шаблонов. Этот класс ссылок является большой помощью в крупных проектах с несколькими компонентами (разработанными разными людьми).
UML дистиллирован (Мартин Фаулер)
UML Distilled: Краткое руководство по стандартному языку моделирования объектов (Martin Fowler; Addison-Wesley 2003)
UML Essence: краткое руководство по стандартному языку объектов (3 -е издание) (перевод Сюй Цзиафу, Tsinghua University Press, 2005)
Для профессиональных программистов UML является важным универсальным языком визуальной коммуникации, но он чрезмерно используется и поспешно. Вам не нужно много знать об использовании общения UML. Уточнение Мартина UML обеспечивает вам самые основные вещи. На самом деле, передние и задние страницы предоставляют все, что вы можете использовать на регулярной основе. Код для примеров UML в этой книге - код Java.
Тестовая разработка: примером (Кент Бек)
Разработка на основе тестирования: примером (Кент Бек; Аддисон-Уэсли 2002)
Развитие на основе тестирования (китайская версия) (перевод CUI Kai, China Electric Power Press, 2004)
Программирование теста будет революционизировать программирование и поможет вам стать лучшим программистом. Написание теста перед написанием кода трудно начать, но это мощный навык. Расстанавливая приоритеты тестов, код может быть упрощена и убедиться, что он работает с самого начала (Бек практиковал свой защищенный приоритет теста, соавторский Junit, самая популярная тестовая структура для Java). Книга Бека является авторитетной ссылкой, а примеры расширенных денег также написаны на Java. Бек подробно рассказывает о том, как думать с приоритетом теста (которое может быть первым препятствием, с которым сталкиваются многие программисты).
Прагматический программист: от подмастерья до Мастера (Энди Хант и Дейв Томас)
Прагматический программист: от подмастерья до Мастера (Эндрю Хант и Дэвид Томас; Аддисон-Уэсли 1999)
Способ практиковать программистов - от мелких работников до экспертов (перевод Mavida, Electronics Industry Press, 2004)
Быть чистым объектно-ориентированным разработчиком имеет свои преимущества . В современном сложном обществе, как разработчик языка на Java, вам часто приходится идти на компромисс, чтобы выполнить свои задачи. Охота и
Томас исследует, как выполнять задачи, не ставя под угрозу то, что действительно имеет значение. Это не книга о языке Java, а важная мысль для чтения для разработчиков языка Java. Например, я не думаю, что программисты, которые извлекают выгоду из честного совета «решить проблемы, а не уклоняться от ответственности», не могут подписать известное имя на его шедевре, как гордый художник.
Peopleware: Продуктивные проекты и команды (Том Демарко и Тимоти Листер)
Peopleware: Продуктивные проекты и команды (Том Демарко, Тимоти Листер; Дорсет Хаус, 1999)
Личные документы (2 -е издание) (Группа перевода Umlchina, Tsinghua University Press, 2003)
Все остальные книги в этом списке, по крайней мере, несколько связаны с технологиями. Эта книга нет. В океане всего технического жаргона и аббревиатуры иногда разработчики программного обеспечения и менеджеры забывают: именно люди создали программное обеспечение. Демарко и Листер напоминают нам об этом факте, а также о причинах этой разницы. Это не книга о конкретном языке программирования, но это книга, которую должен прочитать каждый языковой программист на Java. Есть много других хороших книг о «Как исчерпывать программисты, которые делают менеджеров иметь неприятные последствия», но это лучший.
Изучение языка Java хорошо начинается с чтения!