Здесь собраны лучшие книги по программированию для начинающих, так и для опытных программистов.
Роберт Мартин. Чистый код. Создание, анализ и рефакторинг.
Эта книга посвящена хорошему программированию. Она полна реальных примеров кода. Мы будем рассматривать код с различных направлений сверху вниз, снизу вверх и даже изнутри. Прочитав книгу , вы узнаете много нового о коде. Более того, вы научитесь отличать хороший код от плохого. Вы узнаете, как писать хороший код и преобразовать плохой код в хороший.
Книга состоит из трех частей, в первой части излагаются принципы, паттерны и приемы написания чистого кода: приводится большой объем пр имеров кода. Вторая часть состоит из практических сценариев нарастающей сложности. Каждый сценарий предстовляет собой упражнение по чистке кода или преобразованию проблемного кода с меньшим количеством проблем.
Третья часть - концентрированное выражение ее сути. Она состоит из одной главы с перечнем эвристических правил и "запахов кода" собранных во время анализа. Эта часть представляет собой базу знаний, описывающую наш путь мышления в процессе чтения, написания и чистки кода.
Роберт Мартин. Идеальный программист.
Все программисты, которые добиваются успеха в мире разработки ПО, отличает один общий признак: они больше всего заботятся о качестве создаваемого программного обеспечения. Потому что они являются профессионалыми своего дела.
В этой книге легендарный эксперт Роберт Мартин ( более известный как " Дядюшка боб " ), автор " Чистый код ", рассказывает о том, что значит " быть профессиональным программистом ", описывая методы, инструменты и подходы для разработки " идеального ПО ". Книга насыщена практическими советами в отношении всех аспектов программирования: от оценки проекта и написания кода до рефакторинга и тестирования. Эта книга - больше, чем описание методов, она о профессиональном подходе к процессу разработки.
Стив Макконнелл.Совершенный код.
Более 10 лет первое издание этой книги считалось одним из лучших практических руководств по программированию. Сейчас книга обновлена полностью с учетом современных тендеций и технологий и дополнена сотнями новых примеров, илюстрирующих искуство и науку программирования.
Опираясь на академические исследования, с одной стороны, и практический опыт разработок ПО - с другой, автор синтезировал из самых эффективных методик и наиболее эффективных принцыпов ясное прагматичное руководство. Каков бы ни был ваш профессиональный уровень, с какими бы средствами разработками вы ни работали, какова бы ни была сложность вашего проекта, в книге вы найдете нужную информацию, она заставит вас размышлять и поможет создать совершенный код.
Эрих Гамма,Джон Влиссидес,Ральф Джонсон,Ричард Хелм. Приемы объектно - ориентированного проектирования. Паттерны проектирования.
В книге описываются простые и изящные решения типичных задач, возникающих в объектно - ориентированном проектировании. Паттерны появились, потому что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ.
Найденные решения воплощены в краткой и легко применимой на практике форме. Авторы излагают принцыпы использования паттернов проектирования и приводят их каталог. Таким образом книга одновременно решает две задачи. Во - первых, здесь демонстрируется роль паттернов в создании архитектуры сложных систем. Во - вторых, применяя содержащиеся в справочнике паттерны, проектировщик сможет с легкостью разрабатывать собственные приложения.
Мартин Фаулер. Рефакторинг.
Подход к улучшению структурной целостности и производительности существующих программ, называемый рефакторингом, получил развитие благодаря усилиям экспертов в области ООП, написавших эту книгу.
Каждый шаг рефакторинга прост . Это может быть перемещение поля из одного класса в другой, вынесение фрагмента кода из метода и превращение его в самостоятельный метод или даже перемещение кода по иерархии классов.
Каждый отдельный шаг может показаться элементарным, но совокупный эффект таких малых изменений в состоянии радикально улучшить проект или даже предотвратить распад плохо спроектированный программы.
Мартин Фаулер с соавторами пролили свет на процесс рефакторинга, описав принципы и лучшие приемы его осуществления, а также указав, где и когда следует начинать углубленное изучение кода с целью его улучшения.
Основу книги составляет подробный перечень более 70 методов рефакторинга, для каждого из которых описываются мотивация и техника испытанного на практике преобразования кода с примерами на Java. Рассмотренные в книге методы позволяют поэтапно модифицировать код, внося каждый раз небольшие изменения, благодаря чему снижается риск, связанный с развитием проекта.