ru
Unavailable
this book isn’t available at the moment
Want to read

Программист-прагматик. Путь от подмастерья к мастеру

Находясь на переднем крае программирования, книга «Программист-прагматик. Путь от подмастерья к мастеру» абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса — требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы — от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.

Прочитав эту книгу, вы научитесь:

Бороться с недостатками программного обеспечения;

Избегать ловушек, связанных с дублированием знания;

Создавать гибкие, динамичные и адаптируемые программы;

Избегать программирования в расчете на совпадение;

Защищать вашу программу при помощи контрактов, утверждений и исключений;

Собирать реальные требования;

Осуществлять безжалостное и эффективное тестирование;

Приводить в восторг ваших пользователей;

Формировать команды из программистов-прагматиков и с помощью автоматизации делать ваши разработки более точными.
more
Impression
Add to shelf
Already read
411 printed pages

ImpressionsAll

👍
🎯Worthwhile

Отличная книга, рекомендую каждому разработчику.

QuotesAll

Если оказывается, что вы работаете над проектом с несколькими разбитыми окнами, то слишком легко сползти к умонастроению типа "Вся оставшаяся часть программы — это ерунда, я всего лишь следую примеру"
Нет ничего опаснее идеи, если это единственное, что у вас есть.
Эмиль-Огюст Шартье, Разговор о религии, 1938
Слово «прагматик» происходит от латинского pragmaticus-"сведущий в каком-либо виде деятельности"
то, по всей вероятности, вы собираетесь нарушить принцип DRY, принцип ортогональности и, может быть, некоторые разделы Женевской конвенции
Подсказка 7: Сделайте качество одним из пунктов требований
«Кайдзен» — японский термин, означающий политику непрерывного внедрения большого количества мелких усовершенствований. Считается, что «кайдзен» стала одной из основных причин резкого роста производительности и качества в японской промышленности, и эту политику стали применять во многих странах. «Кайдзен» применима и к отдельным личностям.
Однако, если вы принадлежите к программистам-прагматикам, то у вас есть общие черты, характеризующие данный тип:
• Опережающее восприятие и быстрая адаптация. У вас есть инстинкт на технологии и методы, и вам нравится проверять их на практике. Вы быстро схватываете новое и объединяете его с уже имеющимися знаниями. Ваша уверенность рождается из опыта.
• Любознательность. Вы стремитесь задавать вопросы. "Это здорово — как тебе это удалось?" "У тебя возникали сложности при работе с этой библиотекой?" "Что это за система BeOS, о которой я как-то слышал?" "Как реализуются символические ссылки?" Вы — охотник до мелких фактов, каждый из которых может повлиять на то или иное решение даже годы спустя.
• Критическое осмысление. Вы редко принимаете что-то на веру, не ознакомившись предварительно с фактами. Когда коллеги говорят, что "этого не может быть, потому что этого не может быть никогда", или же фирма-поставщик обещает решить абсолютно все ваши проблемы, у вас возникает ощущение близящейся схватки с соперником.
• Реализм. Вы пытаетесь нащупать, где же находятся подводные камни в каждой проблеме, с которой приходится сталкиваться. Реализм дает понимание того, насколько трудными могут быть многие предметы и сколько времени займет то или иное действие. Осознание для себя, что процесс должен быть непростым или что для его завершения потребуется время, придаст вам жизненные силы, необходимые для его осуществления.
• Универсальность. Вы стараетесь познакомиться с большим числом технологий и операционных систем и работаете, чтобы не отставать от новшеств. Хотя для вашей теперешней работы может потребоваться узкая специализация, вы всегда сможете перейти в новую область, открывая для себя новые горизонты.
Однако, если вы принадлежите к программистам-прагматикам, то у вас есть общие черты, характеризующие данный тип:
• Опережающее восприятие и быстрая адаптация. У вас есть инстинкт на технологии и методы, и вам нравится проверять их на практике. Вы быстро схватываете новое и объединяете его с уже имеющимися знаниями. Ваша уверенность рождается из опыта.
• Любознательность. Вы стремитесь задавать вопросы. "Это здорово — как тебе это удалось?" "У тебя возникали сложности при работе с этой библиотекой?" "Что это за система BeOS, о которой я как-то слышал?" "Как реализуются символические ссылки?" Вы — охотник до мелких фактов, каждый из которых может повлиять на то или иное решение даже годы спустя.
• Критическое осмысление. Вы редко принимаете что-то на веру, не ознакомившись предварительно с фактами. Когда коллеги говорят, что "этого не может быть, потому что этого не может быть никогда", или же фирма-поставщик обещает решить абсолютно все ваши проблемы, у вас возникает ощущение близящейся схватки с соперником.
• Реализм. Вы пытаетесь нащупать, где же находятся подводные камни в каждой проблеме, с которой приходится сталкиваться. Реализм дает понимание того, насколько трудными могут быть многие предметы и сколько времени займет то или иное действие. Осознание для себя, что процесс должен быть непростым или что для его завершения потребуется время, придаст вам жизненные силы, необходимые для его осу
Не оставляйте "разбитые окна" (неудачные конструкции, неверные решения или некачественный текст программы) без внимания
Инвестиции в знания окупаются лучше всего.
Бенджамин Франклин
Отесывая камни, всегда думай о соборах, которые будут строиться из них.
Программирование — это прикладное искусство. Его простейший смысл заключается в следующем: заставить компьютер делать то, что вам нужно (или то, что нужно пользователю, работающему с вашей программой).
Форматы данных, которые может воспринять человек, и самодокументированные данные переживут все другие форматы данных и приложения, их породившие. И точка.
Представьте варианты решения проблемы, а не варианты отговорок
QWAN (Quality Without A Name — качество без имени).
Подсказка 4: Не живите с разбитыми окнами
Не оставляйте "разбитые окна" (неудачные конструкции, неверные решения или некачественный текст программы) без внимания. Как только вы их обнаружите, чините сразу. Если нет времени на надлежащий ремонт, забейте окно досками. Наверняка вы сможете закомментировать ошибочный фрагмент или вывести на экран сообщение "В стадии разработки", или использовать фиктивные данные.
What do you want them to learn? (Чему вы хотите их научить) What is their interest in what you have got to say? (Какова их заинтересованность в вашей речи?) How sophisticated are they? (Насколько искушена ваша аудитория?) How much detail do they want? (Насколько детальным должно быть выступление?) Whom do you want to own the information? (Кто должен обладать информацией?) How can you motivate them to listen to you? (Как мотивировать слушателей?) Буквы оригинала складываются в слово «Wisdom» — мудрость (англ.)
Одним из краеугольных камней прагматической философии является идея принятия ответственности за себя и за свои действия с точки зрения карьерного роста, проекта и каждодневной работы.
Иногда вам приходится работать над проблемой, которая оказывается намного сложнее, чем выдумали. Возможно, вы идете неправильным путем, возможно, в данный момент вы отклонились от графика выполнения проекта или уже отчаялись увидеть систему работающей, поскольку конкретную проблему «невозможно решить». В этот момент необходимо сделать шаг назад и задать себе несколько вопросов: • Существует ли более простой способ? • Вы пытаетесь решить главную проблему или отвлекаетесь на второстепенные технические детали? • Почему это является проблемой? • Что делает эту проблему столь сложной для решения? • Стоит ли делать это именно таким образом? • Стоит ли это делать вообще?
Вкратце шаблон представляет собой некое решение, а язык шаблонов является некой системой решений, подкрепляющих друг друга.

On the bookshelvesAll

Salmonberry

бизнес

Андрей Жариков

Искусство Программирования

Nikita Kuznetsov

программирование

Светлана Стрибная

Программирование

Related booksAll

Related booksAll

Чарлз Уэзерелл

Этюды для программистов

Дж.Ханк Рейнвотер

Как пасти котов. Наставление для программистов, руководящих другими программистами

Чед Фаулер

Программист-фанатик

Питер Сейбел
Ко­деры за ра­бо­той. Раз­мыш­ле­ния о ре­месле про­грам­ми­ста

Питер Сейбел

Кодеры за работой. Размышления о ремесле программиста

Диомидис Спинеллис, Кевлин Хенни, Пит Гудлиф, Роберт Мартин
97 этю­дов для про­грам­ми­стов. Опыт ве­ду­щих экс­пер­тов

Диомидис Спинеллис, Кевлин Хенни, Пит Гудлиф, Роберт Мартин

97 этюдов для программистов. Опыт ведущих экспертов

Игорь Савчук

Отъявленный программист: лайфхакинг из первых рук

Фредерик Брукс

Мифический человеко-месяц или как создаются программные системы

On the bookshelvesAll

бизнес

Искусство Программирования

программирование

Don’t give a book.
Give a library.
fb2epubzip
Drag & drop your files (not more than 5 at once)