My Favorite Software Books

The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:

Существует множество книг о разработке программного обеспечения, но только несколько из них входят в число моих любимых. Я прочитал все из них несколько раз, и, возможно, я обновлю этот пост в будущем, если наткнусь на что-то еще достойное внимания.

Обратите внимание, что я постарался поместить самые важные книги в начало списка.

Мышление в объектах Дэвид Уэста. Это лучшая книга, которую я прочитал о объектно-ориентированном программировании, и она полностью изменила мое понимание этой темы. Я рекомендую вам прочитать ее несколько раз. Но перед прочтением попробуйте забыть все, что вы слышали о программировании раньше. Попробуйте начать с чистого листа. Может быть, это сработает и для вас.

Подготовка к экзамену PMP, Восьмое издание: Курс Риты для сдачи экзамена PMP Риты Малкахи. Эта книга - мое любимое пособие по управлению проектами. Несмотря на то, что она основана на подходе PMI и PMBOK, это обязательная книга для всех, кто интересуется управлением. Проигнорируйте специфику PMBOK и сосредоточьтесь на философии управления проектами и роли менеджера проекта в этом процессе.

Искусство тестирования программного обеспечения Гленфорда Майерс и др. Вы можете прочитать мой краткий обзор этой книги здесь. В книге прекрасно объясняется философия тестирования и разрушаются многие типичные мифы и стереотипы. Независимо от того, какая у вас должность, если вы работаете в сфере программного обеспечения, вам следует понимать тестирование и его основы. Это единственная книга, которая вам в этом поможет.

Развивающаяся объектно-ориентированная разработка, руководствуемая тестами Стив Фримэн и Нэт Прайс. Все, что вам нужно знать о модульном тестировании, содержится в этой книге. Я знаю, что я не включил в список известную книгу Кента Бека, потому что она мне совсем не нравится. Вы обязательно должны ее прочитать, чтобы знать, что происходит, но она не поможет вам писать хорошие тесты. Прочтите вместо нее эту книгу, и прочитайте ее много раз.

Работа с устаревшим кодом Майкл Физерс. Это потрясающая книга о современной разработке программного обеспечения, ее проблемах и типичных неудачах. Большая часть кода, над которым мы сейчас работаем, является устаревшим (также известным как открытый исходный код). Я прочитал эту книгу, как роман.

Непрерывная доставка: надежные выпуски программного обеспечения через автоматизацию сборки, тестирования и развертывания Джез Хамбл и Дэвид Фарли. Это идеальная книга о доставке программного обеспечения, непрерывной интеграции, тестировании, упаковке, версионировании и многих других техниках, используемых в программировании. Это обязательное чтение для тех, кто серьезно относится к разработке программного обеспечения.

XML в ореховой скорлупе, третье издание Эллиот Расти Харролд и В. Скотт Минс. XML - мой любимый стандарт. И я его ненавидел, пока не прочитал эту книгу. Я не понимал все эти странные префиксы, пространства имен, XPath-выражения и схемы. Все изменилось после прочтения этой книги, и с тех пор я использую XML везде. Она очень хорошо написана и легко читается. Это необходимое чтение для всех.

Java Concurrency in Practice Брайан Гоэтц и др. Это очень практическая книга о многопоточности в Java, которая также дает много теоретических знаний о параллелизме в общем. Я настоятельно рекомендую вам прочитать ее хотя бы один раз.

Современный эффективный C++: 42 способа улучшить использование C++11 и C++14 Скотт Мейерс. Независимо от того, на каком языке вы программирование, эта книга очень интересна и полезна. Она содержит много важных предложений по улучшению кодирования на C++. Если вы понимаете большинство из них, ваш навык программирования на Java/Ruby/Python/Scala значительно улучшится.

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

Оценка программного обеспечения: разрешение загадки “черного искусства” Стив Макконнелл. Эта книга интересно рассказывает о программной инженерии и ее самой сложной части - оценке. Чтобы быть хотя бы осведомленным о проблеме и возможных решениях, прочтите ее.

Написание эффективных прецедентов использования Алистер Кокберн. Старая и очень хорошая книга, фактически не применимая на практике в реальных проектах, но вы усвоите философию прецедентов использования, которая перенаправит ваше мышление в нужное русло. Не рассматривайте эту книгу как практическое руководство (хотя она так и называется), а скорее как пищу для размышлений. Прецеденты использования предлагают многое для изучения для разработчиков Java/Ruby/Python.

Требования к программному обеспечению, третье издание Карл Вигерс (автор) и Джой Битти. Отличная книга о анализе требований, первой и самой важной деятельности в любом программном проекте. Даже если вы не аналитик, эта книга обязательна к прочтению.

[Управление версиями с помощью Git: мощные инструменты и методики для коллективной разработки программного обеспечения](https://amzn.to

Translated by ChatGPT gpt-3.5-turbo/42 on 2023-12-27 at 05:10

sixnines availability badge   GitHub stars