1700
ОтложитьЧитал
Лучшие рецензии на LiveLib:
Maple81. Оценка 26 из 10
Эту книгу я больше читала для самообразования, поэтому пока не могу высказывать определённое мнение по поводу тех предложений, которые выдвигает нам автор. И я просто расскажу, о чем она повествует.Автор – человек с большим опытом. Начинал он в совсем «древние» времена, застал перфокарты. С тех пор Программирование сильно изменилось. Немало людей не смогли преодолеть этот барьер. Но он справился, и до сих пор является профессионально востребованным специалистом.Как таковых технических специальных терминов в книге будет мало. Так, некоторые упоминания названий языков программирования, приложение с кратким перечнем программ, которые он предпочитает использовать (для тестирования, например).Часть книги посвящена описанию разработки через тестирование. Автор является ярым апологетом этого принципа. К сожалению, не могу объективно оценить плюсы и минусы такого подхода, и насколько реально его внедрить на всех проектах. Но послушать его точку зрения было интересно. Остальная часть небольшой книги посвящена, скорее, саморазвитию и организационному менеджменту. Как надо себя вести, чтобы расти как профессионал. Тут и время, уделяемое на узнавание нового, и стимулирование программистов на тренировки типа «ката» и пр. (я о них услышала впервые, поэтому тоже без комментариев) и необходимость узнать несколько языков, хотя бы просто для тренировки мозгов в различных направлениях, для чего он предлагает использовать опенсорсные проекты. Также описаны правила поведения с начальством. Как правильно говорить «да» и «нет» так, чтобы подтвердить свой профессионализм и минимизировать бизнес-убытки. (В теории, конечно, звучит хорошо, но работать будет только при адекватных работодателях. Впрочем, профессионалу, наверное, проще их выбирать.) Также указано (бальзам на сердце, такое слышать), что программист должен искать и дополнительных знаний в той сфере, для которой они пишут программу: бухгалтерский учёт или система логистики. Наверное, многие, кто косвенно сталкивался с программистами, замечал то, что они часто пишут программу исходя только из своей логики построения, но не стараясь сделать её удобной для конечного пользователя. Я сейчас говорю, конечно, не о крупных коммерческих проектах, а именно о небольших заказах, адресованных к конкретному исполнителю, а не коллективу с грамотным проектировщиками, системными архитекторами и пр.И концовка книги посвящена тестированию, его важности и желательности того, чтобы оно максимально осуществлялось самим разработчиком.Было познавательно, но ряд моментов, наверняка, весьма спорные. Ну, и многое, конечно, уже устарело.
stupin. Оценка 20 из 10
Однажды увидел в книжном магазине эту книгу. Полистал. Меня заинтересовали в первую очередь байки из жизни автора. Решил почитать и заказал книгу в веб-магазине.После прочтения оказался несколько разочарованным. Дело в том, что баек, заинтересовавших меня, в этой книге не так уж и много. Конечно, в книге есть и много другого интересного материала, но книга закончилась быстрее, чем я удовлетворился полученной информацией. Наверное дело в том, что у Роберта Мартина свои собственные представления об идеальном программисте. Я бы сказал, что идеальным программистом он считает профессионального программиста. И вот что он вкладывает в это понятие. В его понимании профессиональный программист помимо 40 рабочих часов в неделю должен тратить ещё 20 часов в неделю на самообучение. Профессиональный программист не обещает сделать то, для чего ему придётся пренебречь процедурами привычного для него цикла разработки. По его мнению, досрочно работу можно выполнить либо урезав необходимый функционал, либо работая сверхурочно. Сверхурочная работа может длиться не более двух недель непрерывно и не должна проводиться в ущерб семье. Если нет возможности отбросить часть функционала и нет возможности работать сверхурочно, то профессионал должен ответить твёрдым отказом. Ни в коем случае нельзя пытаться выполнить работу досрочно в ущерб качеству кода. Роберт Мартин является ярым сторонником подхода к разработке через тестирование и, в частности, заявляет о том, что ни в коем случае не будет отказываться от этого подхода в угоду срочности. Разработка через тестирование увеличивает эффективность работы и поэтому отказ от этого подхода будет равносилен признанию, что этот подход не приносит никакой пользы, а только затягивает разработку.Кроме достаточно известного подхода к разработке через тестирование, в книге встречаются и несколько необычных мыслей. Одна из таких мыслей заключается в том, что в процессе работы нужно избегать состояния потока. В состоянии потока работается легко и можно проработать много часов подряд. Кажется, что это самое продуктивное состояние, но автор считает, что в этом состоянии притупляется острота ума и можно легко увлечься реализацией плохо продуманного решения. Поэтому состояния потока нужно избегать. Лучшим способом избежать состояния потока Роберт Мартин считает парное программирование. Кроме того, парное программирование позволяет находить выходы из тупиков, учиться у коллег их образу мыслей и их приёмам работы, а также знакомиться с чужим кодом.Самый необычный совет, который я встретил в этой книге – это выполнение упражнений по программированию. Вы спросите, а что же тут необычного? Необычно тут то, что автор предлагает выполнять время от времени одни и те же упражнения. Смысл упражнения в этом случае заключается не в поиске решения, которое ранее уже было найдено, а в том, что при выполнении упражнения тренируются навыки использования инструментов и языка программирования. Короткие упражнения, выполняемые в одиночку, называются «ката». В паре можно выполнять упражнения «вадза». В этом случае один напарник пишет тест, а другой пишет код, который пройдёт тест. Потом напарники меняются местами. В группах больше двух человек можно выполнять упражнения «рандори». В этом случае первый человек пишет тест и передаёт упражнение следующему участнику, чтобы тот написал код для этого теста и новый тест для следующего участника. Названия «ката», «вадза» и «рандори» взяты из дзюдо.Автор пользуется и рекомендует другим использовать для разработки следующие инструменты:– IntelliJ – интерактивная среда разработки,– git – система контроля версий,– Pivotal Tracker – система учёта задач,– XUnit – инструмент модульного тестирования,– FitNesse – инструмент интеграционного и компонентного тестирования, автором которого является сам Роберт Мартин,– Jenkins – система непрерывной интеграции.В отличие от книг «Программист-фанатик» и «Путь программиста», в этой книге нет советов вести блог или подкаст, участвовать в конференциях, нет советов обрести финансовую независимость или советов, как распоряжаться деньгами инвестора при реализации нового проекта. В общем, мне показалось, что книга ориентирована в первую очередь на программистов, работающих в больших компаниях. Им нет необходимости быть известными, чтобы найти работу получше или иметь возможность запросить зарплату побольше при устройстве на новую работу. Они не стеснены в деньгах настолько, чтобы искать дополнительные источники заработка. Формирование требований и продвижение нового продукта в большой фирме – не задача программистов. Поэтому в этой книге, выражаясь фигурально, нет советов по маркетингу и финансам.
leetcoder. Оценка 16 из 10
Данное произведение скорее всего можно отнести к жанру художественной литературы, так как в книге автор в лёгкой и непринуждённой форме рассказывает истории из жизни. Большинство историй связаны с воспоминаниями автора из 70-х годов прошлого столетия, когда повсеместно использовались перфокарты и компьютеры с сильно ограниченными ресурсами. Если вы, также как я, не работали в IT в те времена, то все эти истории могут показаться вам не интересными.Конечно, в этой книге вы также найдете несколько полезных с практической точки зрения идей, но их совсем не много, и они очень общие из разряда: программист должен непрерывно обучаться.В целом книга заслуживает внимания из уважения к ее автору дяде Бобу, но лучше не питать никаких иллюзий по поводу ценности ее содержимого, и просто относиться к книге, как к роману, который можно прочитать на досуге, когда нечего делать.
Издательство:
ПитерКниги этой серии:
- Экстремальное программирование. Разработка через тестирование
- Как пасти котов. Наставление для программистов, руководящих другими программистами
- Дефрагментация мозга. Софтостроение изнутри
- Чистый код: создание, анализ и рефакторинг (pdf+epub)
- Карьера программиста
- Программист-фанатик
- Отъявленный программист. Лайфхакинг из первых рук
- HTML5 и CSS3. Веб-разработка по стандартам нового поколения
- UML 2.0. Объектно-ориентированное моделирование и разработка
- Идеальный программист. Как стать профессионалом разработки ПО
- Приемы объектно-ориентированного проектирования. Паттерны проектирования
- Приложения для Windows 8 на C# и XAML
- Release it! Проектирование и дизайн ПО для тех, кому не всё равно
- Реактивные шаблоны проектирования (pdf+epub)
- В работу с головой. Паттерны успеха от IT-специалиста
- Swift. Основы разработки приложений под iOS, iPadOS и macOS (pdf + epub)
- Машинное обучение (pdf+epub)
- Kali Linux в действии. Аудит безопасности информационных систем (pdf+epub)
- Глубокое обучение. Погружение в мир нейронных сетей
- Психбольница в руках пациентов. Алан Купер об интерфейсах
- Angular и TypeScript. Сайтостроение для профессионалов (pdf+epub)
- С++17 STL. Стандартная библиотека шаблонов
- Хакинг. Искусство эксплойта (pdf+epub)
- Глубокое обучение на Python (pdf+epub)
- Чистый Python. Тонкости программирования для профи (pdf+epub)
- Глубокое обучение на R (pdf+epub)
- Linux API. Исчерпывающее руководство
- Теоретический минимум по Big Data. Всё что нужно знать о больших данных (pdf+epub)
- Машинное обучение и TensorFlow (pdf+epub)
- Совершенный алгоритм. Основы
- Python. Экспресс-курс (pdf+epub)
- Вероятностное программирование на Python: байесовский вывод и алгоритмы
- Грокаем глубокое обучение (pdf+epub)
- Java для всех (pdf+epub)
- Микросервисы. Паттерны разработки и рефакторинга (pdf+epub)
- Linux в действии (pdf+epub)
- Разработка с использованием квантовых компьютеров (pdf+epub)
- Квантовые вычисления для настоящих айтишников
- Классические задачи Computer Science на языке Python
- Изучаем Python: программирование игр, визуализация данных, веб-приложения
- Глубокое обучение в картинках. Визуальный гид по искусственному интеллекту
- Spring Boot 2: лучшие практики для профессионалов
- Паттерны объектно-ориентированного проектирования
- Время UNIX. A History and a Memoir (pdf + epub)
- Гид по Computer Science. Расширенное издание
- Глубокое обучение: легкая разработка проектов на Python
- Ловушка для багов. Полевое руководство по веб-хакингу (pdf + epub)
- Совершенный алгоритм. Алгоритмы для NP-трудных задач (pdf + epub)
- Vue.js в действии (pdf+epub)
- React быстро (pdf+epub)
- Искусство программирования на R. Погружение в большие данные (pdf+epub)
- Java. Быстрый старт (pdf + epub)
- Python. Быстрый старт (pdf + epub)
- Безопасно by design
- Наглядный CSS
- Scala. Профессиональное программирование
- Обработка естественного языка. Python и spaCy на практике
- Python. Лучшие практики и инструменты
- Байесовская статистика: Star Wars, LEGO, резиновые уточки и многое другое
- Программируй & типизируй. С примерами на TypeScript
- JavaScript с нуля
- Data Science для карьериста
- Облачные архитектуры: разработка устойчивых и экономичных облачных приложений
- Python, например
- Классические задачи Computer Science на языке Java (pdf+epub)
- JavaScript для глубокого обучения: TensorFlow.js (pdf+epub)
- Эффективный C. Профессиональное программирование (pdf+epub)
- {Вы пока еще не знаете JS} Область видимости и замыкания (pdf+epub)
- {Вы пока еще не знаете JS} Познакомьтесь, JavaScript (pdf+epub)
- Путь Python. Черный пояс по разработке, масштабированию, тестированию и развертыванию (+ epub)
- Глубокое обучение с подкреплением на Python. OpenAI Gym и TensorFlow для профи (pdf + epub)
- Стильный Java. Код, который работает всегда и везде
- Глубокое обучение с подкреплением. Теория и практика на языке Python
- System Design. Подготовка к сложному интервью
- Большая книга проектов Python
- Отзывчивый дизайн на HTML5 и CSS3 для любых устройств (pdf + epub)
- Профессиональный бенчмарк. Искусство измерения производительности (pdf + epub)
- Компьютерная графика. Рейтрейсинг и растеризация (pdf+epub)
- Этичный хакинг. Практическое руководство по взлому (pdf+epub)
- Python. Чистый код для продолжающих
- Scala. Профессиональное программирование
- SQL. Быстрое погружение (pdf + epub)
- Теоретический минимум по Computer Science. Сети, криптография и data science (pdf + epub)
- Идеальная работа. Программирование без прикрас
- Управление проектами с нуля (pdf + epub)
- Алгоритмы неформально. Инструкция для начинающих питонистов (pdf + epub)
- Кибердзюцу. Кибербезопасность для современных ниндзя (pdf + epub)
- Тестирование JavaScript
- Грокаем стриминг. Обработка событий в реальном времени
- PyTorch. Освещая глубокое обучение (+ epub)
- Знакомство с Python (+ epub)
- Python без проблем. Решаем реальные задачи и пишем полезный код (+ epub)
- Black Hat Go. Программирование для хакеров и пентестеров (+ epub)
- Создание приложений машинного обучения. От идеи к продукту (+ epub)
- Пять строк кода (+ epub)
- Математические алгоритмы для программистов. 3D-графика, машинное обучение и моделирование на Python (pdf + epub)
- Основы Python для Data Science (pdf + epub)
- Pandas в действии (pdf + epub)
- Kafka Streams и ksqlDB. Данные в реальном времени (pdf + epub)
- Машинное обучение. Портфолио реальных проектов (pdf + epub)
- Внутри CPython. Гид по интерпретатору Python (pdf + epub)
- 40 алгоритмов, которые должен знать каждый программист на Python (pdf + epub)
- Алгоритмы на практике. Решение реальных задач (pdf + epub)
- Объекты. Стильное ООП (pdf + epub)
- Python для хакеров. Нетривиальные задачи и проекты (pdf+epub)
- Software. Ошибки и компромиссы при разработке ПО (pdf+epub)
- Паттерны проектирования API (pdf+epub)
- Код, который умещается в голове: эвристики для разработчиков (pdf+epub)
- Python за 7 дней. Краткий курс для начинающих (pdf+epub)
- README. Суровые реалии разработчиков (pdf+epub)
- Python для data science (pdf+epub)
- SQL Server. Наладка и оптимизация для профессионалов (pdf+epub)
- Аппаратный хакинг: взлом реальных вещей (pdf+epub)
- Рекурсивная книга о рекурсии (pdf+epub)
- JavaScript с нуля до профи (pdf+epub)
- Грокаем функциональное мышление
- Карьера продакт-менеджера. Все что нужно знать для успешной работы в технологической компании
- Грокаем глубокое обучение с подкреплением (pdf + epub)
- Искусство чистого кода (pdf + epub)
- Кодер с улицы. Правила нарушать рекомендуется (pdf + epub)
- Киберкрепость. Всестороннее руководство по компьютерной безопасности
- Прикладные структуры данных и алгоритмы. Прокачиваем навыки (+epub)
- Изучаем vi и Vim. Не просто редакторы (+epub)
- Грокаем функциональное программирование
- Настоящий CTO: думай как технический директор
- Грокаем машинное обучение (pdf + epub)
- Linux для сетевых инженеров (pdf + epub)
- Гейм-дизайн: как создаются игры
- Путь 1С-разработки. Не спеша, эффективно и правильно (pdf + epub)
- Python с нуля (pdf + epub)
- Blender. Дизайн интерьеров и архитектуры (pdf + epub)
- System Design. Машинное обучение. Подготовка к сложному интервью (pdf + epub)
- Основы компиляции: инкрементный подход (pdf + epub)
- Продвинутые алгоритмы и структуры данных (pdf + epub)
- Грокаем Continuous Delivery
- Дизайн для разработчиков (+ epub)
- Тестирование веб-API (+ epub)
- Объектно-ориентированный Python (+ epub)
- Чистый код: создание, анализ и рефакторинг (pdf+epub)
- Основы Dart (pdf+epub)
- Алгоритмы с нуля (pdf+epub)
- Java для опытных разработчиков (pdf+epub)
- Сам себе тестировщик. Пошаговое руководство по тестированию ПО (pdf+epub)
- Основы TypeScript (pdf+epub)
- Антипаттерны SQL. Как избежать ловушек при работе с базами данных (pdf+epub)
- Тюнинг систем. Экспериментирование для инженеров от A/B-тестирования до байесовской оптимизации (pdf+epub)
- Рецепты Python. Коллекция лучших техник программирования (pdf+epub)
- Микросервисы и API (pdf+epub)
- Алгоритмы? Аха! (pdf + epub)
- Программирование на Python с помощью GitHub Copilot и ChatGPT (pdf + epub)
- Hypermedia-разработка. htmx и Hyperview (pdf + epub)
- Поговорим на Python. Разработка ПО для начинающих (pdf + epub)
- Алгоритмы и структуры данных на Python (PDF + EPUB)
- PowerShell: практическая автоматизация. Эффективная разработка скриптов от консоли до облака (PDF + EPUB)
- Грокаем конкурентность
Метки:
искусство программирования, профессиональные секреты, разработка программного обеспечения, советы профессионалов