DOU Books: 5 книг для Enterprise Java разработчика, которые советует Сергей Немчинский

От редакции: в рубрике DOU Books участники сообщества рассказывают о пяти любимых книгах — тех, которые меняют мировоззрение и могут быть полезны читателям-коллегам. Если у вас есть желание поделиться своей подборкой, пишите на editors@dou.ua.

[Сергей Немчинский — 20 лет работает программистом. Почти 15 из них — в Java. В прошлом Сергей работал Project manager в Ciklum, Team Leader в Luxoft, NetCracker и IntroPro, начальником отдела веб-разработки в ЛигаБизнесИнформ (первая приличная версия сайта liga.net была сделана под его руководством). Параллельно преподавал в учебных центрах Luxoft, NetCraker и IntroPro, и даже работал учителем в школе. Является Certified Scrum Master. Сейчас Сергей — основатель и руководитель учебной компании Foxminded]

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

Мартин Фаулер: «Рефакторинг. Улучшение существующего кода»

Книга на все времена. Только прочитав ее, разработчик начинает понимать что-то в своем коде и самое главное — понимать, какую фигню он до этого писал. Да, книга слегка тяжеловата, и слишком растянутые примеры мешают, но из песни слова не выкинешь — если вы ее не читали — прочтите непременно.

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

Первая книга, которую должен прочитать любой разработчик, только вылезая из пеленок. Книга научит ценить качество кода, привьет верные ориентиры и научит не есть желтый снег. Меня часто спрашивают — вот я научился писать код и что дальше? Вот и ответ — читайте чистый код и будет вам счастье. :)

Роберт К. Мартин: «Agile Software Development: principles patterns and practices»

Вторая книга в этом обзоре от Роберта Мартина. По-хорошему — ее одной было бы достаточно вместо всех предыдущих. Книга прекрасна во всем — строго структурирована, емкие, короткие фразы, ни единого лишнего слова, авторские иллюстрации с легким и интеллигентным юмором. Но есть две проблемы. Первая — она отвратительно переведена на русский язык. Хуже я перевода не видел вообще, поэтому название даю на английском — на русском ее читать не имеет никакого смысла. Достаточно сказать, что один принцип там вообще переведен в противоположном от оригинала смысле. Естественно, авторское оформление и рисунки потеряны. А вот в оригинале — мастрид, однозначно. Даже держать книгу в руках приятно.

Мартин Фаулер «Шаблоны корпоративных приложений»

Следующая книга из нашего обзора подойдет для тех, кто уже поработал на галерах и даже перестал краснеть за свой код, ну по крайней мере делает это не часто. В этот момент разработчик понимает, что от решения локальных проблем надо переходить к пониманию построения архитектуры приложений в целом. К сожалению, хороших книг, обучающих декомпозиции предметной области я практически не знаю. Эта книга — не про декомпозицию, а про типовые решения для Enterprise разработки. Но и из нее можно сделать большое количество выводов и многому научиться. Честно говоря, я ее читал в русском переводе и был не впечатлен. Переведена она существенно хуже, чем рефакторинг, так что наверняка лучше читать в оригинале. Кстати, по материалу этой книги я скоро буду проводить тренинг в Киеве, приходите. Буду рад вас видеть. :)

Kent Beck «Extreme Programming Explained: Embrace Change»

Прочитав эту книгу, я настолько в свое время влюбился, что ушел с престижной должности начальника отдела веб-разработки в Лиге в мелкую конторку простым девелопером, лишь потому, что они мне пообещали настоящий ХР, прямо как у Бека. Прочитайте, Бека читать приятно, у него отличный рубленный слог, четкая структура и приятный юмор.

Естественно, ХР — это вообще не про Enterprise, это про организацию всей команды. Ну и по естественным причинам — в Enterprise эта тема возникает в первую очередь — команды большие. Задачи длинные и сложные. Нужно как-то в этом всем разбираться. ХР сейчас в чистом виде встречается крайне редко, однако принципы Agile разработки — то, что должен знать любой разработчик. И лучше Кента Бека их не объяснит никто, на мой вкус.

16 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

В общем автор — любитель аджайла, в его списке все авторы одновременно соавторы аджайл манифеста. Хотя, в современном мире уже следует читать Release It, Building Microservices, Lean Startup и оные. Я конечно каждую книгу из списка читал, а Роб Мартин у меня вообще в коннекшонах в линкедине, но ничего не вечно, и в современной бекэнд разработке давно уже не тренд, а реальность такие баззворды как DevOps, Conitious Delivery, Kanban/Lean, а не TDD, Scrum и XP.

DevOps, Conitious Delivery, Kanban/Lean
Вже давно не баззворди. Зараз баззворди це containers, serverless і тд.
давно уже не тренд, а реальность

Думаю, вы вот это читали: blog.cleancoder.com/.../2016/07/27/TheChurn.html
Если нет, советую

Читал конечно, но распределенные системы сейчас это не shiny new thing, а необходимость. И простых дисциплин с TDD/Refactoring и прочего XP, которые хорошо работают в разрезе индивидуального мнолитного приложения, уже не достаточно чтобы быстро деливирить качественный софт.

Я как раз буду выступать с этой темой в Черновцах и Львове в SoftServe. Думаю, тут есть о чем поспорить

а где же Effective Java, Java Concurrency in Practice, Java Performance, Working Effectively with Legacy Code? а то это какой-то набор для пхпшника

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

рефакторинг и чистый код об архитектуре? где в таком случае Эванс или Вернон?

Естественно, рефакторинг и чистый код — об архитектуре. В современном мире мы строим архитектуру на уже существующем коде, меняя этот код в нужную сторону. И оценивая результаты в соответствии с критериями чистого кода.

я бы сказал — это исскуство

Для пхпшника)) А ну как, расскажи ,кто это?

Так у Фаулера в этих книгах примеры по Default в Java.

Отличные книги!
Желательно через год/два каждую из них перечитывать.
Есть еще одна замечательная книга Стива Макконнелла «Совершенный код».

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

Подписаться на комментарии