TGViewer
.NET Разработчик .NET Разработчик @netdeveloperdiary · 6.77K subscribers
Post #1265 1.6K
День 1033. #Карьера
Чему Можно Научиться из Книг «Программист-прагматик» и «Идеальный программист». Часть 1
Вы найдете эти книги почти в каждой подборке «10 лучших книг по разработке ПО». Когда вы разрабатываете ПО, вы можете застрять на том, что видео из YouTube и ответы на StackOverflow не помогают. Вы в итоге обращаетесь к документации или к исходному коду этой технологии, чтобы найти ответ. То же самое происходит, когда вы хотите действительно глубоко понять предмет. Иногда статей может не хватать, и чтение хороших книг - лучший выход. В этих книгах основное внимание уделяется не столько написанию кода, сколько обучению передовым методам разработки и даже полезным жизненным урокам.

1. Как брать на себя ответственность
Как разработчик вы несёте ответственность за создаваемый код. Вы должны убедиться, что он не только работает сейчас, но и будет работать наилучшим образом в течение длительного времени.

Программист-прагматик принимает на себя ответственность за свою собственную карьеру и не боится признаваться в незнании или ошибке.
- Программист-прагматик

Однако ответственность связана не только с написанием кода. Вы также должны взять на себя ответственность за самосовершенствование и выделение времени для этого.

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

Знание и опыт являются самыми важными профессиональными активами.
- Программист-прагматик

2. Тестирование важно
Важность тестирования в разработке ПО настолько велика, что обе книги посвящены этой теме. Вы должны смотреть на тесты как на первых пользователей вашего кода, т.к. они являются лучшей обратной связью, которая ведёт вашу разработку.

Практикуйтесь в разработке через тестирование (TDD):
- Выберите функцию, которую нужно добавить, и напишите тест, который пройдёт после её реализации. Теперь все тесты, кроме нового, должны проходить.
- Напишите код, необходимый для прохождения теста.
- Выполните рефакторинг кода и убедитесь, что все тесты проходят.

При этом важно смотреть на картину в целом и не упустить главную цель, создавая слишком много тестов.

Есть три способа тестирования: «сначала», «во время» и «никогда». «Сначала» (TDD) - лучший. «Во время» - запасной вариант, когда первый бесполезен. «Никогда» часто называют «протестирую позже», но, к сожалению, в большинстве случаев «позже» означает «никогда».

Наличие тестов даёт вам уверенность в необходимости более частого рефакторинга кода, потому что вы можете убедиться, что тесты по-прежнему проходят после внесения изменений.

Тесты следует выполнять как можно чаще, чтобы обеспечить максимальную обратную связь и гарантировать постоянную «чистоту» системы.
- Идеальный программист

Используйте приёмочные тесты, чтобы определить, выполняются ли требования, в сотрудничестве с заинтересованными сторонами.

У разработчиков должна быть цель: «QA не должен ничего находить». Вы можете добиться этого, реализуя различные виды тестов: модульные, компонентные, интеграционные, системные, приёмочные.

Продолжение следует…

Источник:
https://www.freecodecamp.org/news/lessons-learned-from-the-pragmatic-programmer-and-the-clean-coder/
More from @netdeveloperdiary
  1. Oct 15, 2026Post #3374
  2. Oct 14, 2026Post #3373
  3. Oct 13, 2026День 2813. #ЗаметкиНаПолях #Async Ещё Раз Про Async/Await в C#. Часть 1 Почему существует…
  4. Oct 12, 2026День 2812. #Карьера #AI Как Разработчикам Оставаться Полезными, Когда Код Пишет ИИ? По мер…
  5. Oct 11, 2026День 2811. #ВопросыНаСобеседовании Марк Прайс предложил свой набор из 60 вопросов (как тех…
  6. Oct 10, 2026День 2810. #ЧтоНовенького #VSCode Более Быстрый и Лёгкий C# Dev Kit Мы, разработчики, люби…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →