Идеальный программист. Как стать профессионалом разработки ПО

Идеальный программист. Как стать профессионалом разработки ПО

Всех программистов, которые добиваются успеха в мире разработки ПО, отличает один общий признак: они больше всего заботятся о качестве создаваемого программного обеспечения. Это – основа для них. Потому что они являются профессионалами своего дела.

В этой книге легендарный эксперт Роберт Мартин (более известный в сообществе как «Дядюшка Боб»), автор бестселлера «Чистый код», рассказывает о том, что значит «быть профессиональным программистом», описывая методы, инструменты и подходы для разработки «идеального ПО». Книга насыщена практическими советами в отношении всех аспектов программирования: от оценки проекта и написания кода до рефакторинга и тестирования. Эта книга – больше, чем описание методов, она о профессиональном подходе к процессу разработки.

Жанры: Программирование, Зарубежная компьютерная литература
Цикл: Не является частью цикла
Год публикации: 2012

Читать онлайн Идеальный программист. Как стать профессионалом разработки ПО


Robert С. Martin

The Clean Coder:

A Code of Conduct for Professional Programmers


© Prentice Hall, Inc., 2011

© Перевод на русский язык, издание на русском языке ООО Издательство «Питер», 2012

Обязательное вступление

(Не пропускайте, оно вам понадобится!)



Почему вы выбрали эту книгу? Наверное, потому что вы – программист, и вас интересует понятие профессионализма. И правильно! Профессионализм – то, чего так отчаянно не хватает в нашей профессии.

Я тоже программист. Я занимался программированием 42[1] года и за это время повидал многое. Меня увольняли. Меня превозносили до небес. Я побывал руководителем группы, начальником, рядовым работником и даже исполнительным директором. Я работал с выдающимися программистами, и я работал со слизняками.[2] Я занимался разработкой как самых передовых встроенных программных/аппаратных систем, так и корпоративных систем начисления зарплаты. Я программировал на COBOL, FORTRAN, BAL, PDP-8, PDP-11, C, C++, Java, Ruby, Smalltalk и на многих других языках. Я работал с бездарными халявщиками, и я работал с высококвалифицированными профессионалами. Именно последней классификации посвящена эта книга.

На ее страницах я попытаюсь определить, что же это такое – «быть профессиональным программистом». Я опишу те атрибуты и признаки, которые, на мой взгляд, присущи настоящим профессионалам.

Откуда я знаю, что это за атрибуты и признаки? Потому что я познал все это на собственном горьком опыте. Видите ли, когда я поступил на свое первое место работы на должность программиста, никому бы не пришло в голову назвать меня профессионалом.

Это было в 1969 году. Мне тогда было 17 лет. Мой отец убедил местную фирму под названием ASC нанять меня программистом на неполный рабочий день. (Да, мой отец это умеет. Однажды он на моих глазах встал на пути разгоняющейся машины, поднял руку и приказал: «Стоять!» Машина остановилась. Моему папе вообще трудно отказать.) Меня приняли на работу, посадили в комнату, где хранились все руководства к компьютерам IBM, и заставили записывать в них описания обновлений за несколько лет. Именно тогда я впервые увидел фразу: «Страница намеренно оставлена пустой».

Через пару дней обновления руководств мой начальник предложил мне написать простую программу на Easycoder.[3] Его просьба вызвала у меня бурный энтузиазм, ведь до этого я еще не написал ни одной программы для настоящего компьютера. Впрочем, я бегло просмотрел несколько книг по Autocoder и примерно представлял, с чего следует начать.

Моя программа должна была прочитать записи с магнитной ленты и изменить идентификаторы этих записей. Значения новых идентификаторов начинались с 1 и увеличивались на 1 для каждой последующей записи. Записи с обновленными идентификаторами должны были записываться на новую ленту.

Начальник показал мне полку, на которой лежало множество стопок красных и синих перфокарт. Представьте, что вы купили 50 колод игральных карт – 25 красных и 25 синих, а потом положили эти колоды друг на друга. Так выглядели эти стопки. В них чередовались карты красного и синего цвета; каждая «колода», состоявшая примерно из 200 карт, содержала исходный код библиотеки подпрограмм. Программисты просто снимали верхнюю «колоду» со стопки (убедившись, что они взяли только красные или только синие карты) и клали ее в конец своей стопки перфокарт.

Моя программа была написана на программных формулярах – больших прямоугольных листах бумаги, разделенных на 25 строк и 80 столбцов. Каждая строка соответствовала одной карте. Программа записывалась на формуляре прописными буквами. В последних 6 столбцах каждой строки записывался ее номер. Номера обычно увеличивались с приращением 10, чтобы позднее в стопку можно было вставить новые карты.


Отзывы
ManOfOrange

Автор пишет интересные и правильные вещи, но его безапелляционность в вопросах TDD раздражает. Хотел бы я посмотреть, как он будет разрабатывать систему с моей текущей работы через TDD. А в целом очень правильные вещи: про «да» и «нет», про ответственность (это вот прямо в голову вколачивать надо) и так далее.

Рекомендую прочитать, тем более, книга очень короткая.


Вам будет интересно
Прошло почти двадцать лет с тех пор как появился Манифест Agile. Легендарный Роберт Мартин (Дядя Боб) понял, что пора стряхнуть пыль с принципов Agile, и заново рассказать о гибком подходе не только новому поколению программистов, но и специалистам из других отраслей. Автор полюбившихся айтишникам книг «Чистый код», «Идеальный программист», «Чистая архитектура» стоял у истоков Agile. «Чистый Agile» устраняет недопонимание и путаницу, которые за годы существования Agile усложнили его применение п...
Читать онлайн
«Идеальный программист» и «Чистый код» – легендарные бестселлеры Роберта Мартина – рассказывают, как достичь высот профессионализма. «Чистая архитектура» продолжает эту тему, но не предлагает несколько вариантов в стиле «решай сам», а объясняет, что именно следует делать, по какой причине и почему именно такое решение станет принципиально важным для вашего успеха.Роберт Мартин дает прямые и лаконичные ответы на ключевые вопросы архитектуры и дизайна. «Чистую архитектуру» обязаны прочитать разраб...
Читать онлайн
Эта книга для молодых и не очень предпринимателей, фрилансеров, программистов, которые хотят открыть свой бизнес. Книга для тех, кто устал существовать. Работать за еду. Рисовать и программировать за копейки. Поверьте, я видел огромное количество людей, просто не знающих себе цену. Также эта книга для людей, которые хотят сэкономить свое время, переняв чужой опыт. Я потратил много лет на понимание очень важных вещей, о которых говорю здесь. И они действительно могут сильно изменить ваше представ...
Читать онлайн
В книге кратко описаны:– суть профессии;– подходы к тестированию отдельных элементов приложения;– советы по написанию отчетов о найденных ошибках;– алгоритм проверки работоспособности приложения на продуктовом сервере....
Читать онлайн
Пособие является современным руководством по проектированию литьевой оснастки с использованием программы Solid Edge. Предназначено для студентов, обучающихся в бакалавриате и магистратуре по направлению 240100 «Химическая технология» (программа магистров «Химическая технология переработки пластмасс и композиционных материалов» и «Проектирование производств по получению и переработке полимеров и композиционных материалов»), изучающих дисциплину «Разработка конструкции и расчет технологической осн...
Читать онлайн
Пользовательские истории – это метод описания требований к разрабатываемому продукту. В книге рассказано, как правильно использовать данную технику, чтобы сфокусироваться на поставленной задаче и пожеланиях клиента, а не распыляться на реализации второстепенных функций. Автор книги показывает, как данный подход не только ускоряет и систематизирует разработку, но и улучшает взаимопонимание в команде....
Читать онлайн
Impact Mapping – практическое пособие по картам влияния, простому, но очень эффективному методу разработки программного обеспечения. Он помогает еще на стадии стратегического планирования организовать сотрудничество различных специалистов и в результате создавать эффективные программные продукты....
Читать онлайн
Книга написана для начинающих программистов. Ко всем задачам есть решения. Присутствуют задачи повышенной сложности....
Читать онлайн
Все мы – безумцы, живущие в технологическом сумасшедшем доме, и создали этот безумный мир мы сами. Своими руками сотворили этот кошмар: интерфейсы, которые нас раздражают и утомляют глаза, устройства, которые приводят к болям в спине и в запястьях. Эта книга стала манифестом и до сих пор не потеряла актуальность. Дверь на свободу распахнута. Почему же мы не замечаем выхода? Об этом и рассказывает Алан Купер, объясняя разницу между интерфейсом и взаимодействием.Эй, ребята, у вас тут полно обозлен...
Читать онлайн
Книга "Конструктор игр Clickteam Fusion" была создана в рамках проекта Youtube-канала "Clickteam по-русски". Автор выражает надежду, что новая книга оправдает себя, облегчит работу и поможет творчеству читателя в таком непростом деле....
Читать онлайн
Книга стала продолжением «Невыдуманных рассказов», изданных в 2016 году. По сути, она является художественным осмыслением реальных событий, произошедших с автором. Читатель окунётся в атмосферу жизни страны на рубеже ХХ—ХХI веков. Содержит нецензурную брань....
Читать онлайн
Спецслужбы ведущих стран мира получают данные о готовящейся операции под названием "Итог" и начинают готовиться к отражению неведомой террористической угрозы. Вскоре мир накрывает пандемия нового вируса. Никому нет дела до новой компьютерной игры "М версия", в которой две студенческие команды из России и США готовятся к заключительному этапу. Дата начала операции "Итог" полностью совпадает с финалом новой игры. Ничто уже не в силах помешать решающему "виртуальному" сражению, которое разворачивае...
Читать онлайн
Глории Макфин больше нет, но появилась Амели Морган. Ее ждут новые испытания: вернуть парней, избавиться от Дезмонда, тем самым начать нормальную жизнь. Жизнь без наркотиков, без убийств. Получится ли у нее исполнить все свои мечты?...
Читать онлайн
Тернистый путь поиска своего "я", путь ошибок, мытарств и сломанных грез. Дорога, ведущая прямиком из безоблачного детства... в "светлое будущее". Вот только... будет ли солнце улыбаться всем им там, за горизонтом взросления? Будет ли оно добрым, нежным... заботливым, радетельным? Али сожжет дотла... не щадя ни плоть, ни душу? Будет ли свет... в конце туннеля - выходом... из темени бед, или же станет прощальным блеском лобового фонаря, прожектора электрички, машинисту которой... уже поздно жать ...
Читать онлайн