Дневник сертифицированного .NET разработчика. Заметки, советы, новости из мира .NET и C#.
Для связи: @SBenzenko
Поддержать канал:
- https://boosty.to/netdeveloperdiary
- https://patreon.com/user?u=52551826
- https://pay.cloudtips.ru/p/70df3b3b
Post #1310
1.39K
День 1064. #Карьера
Чему Можно Научиться из Книг «Программист-прагматик» и «Идеальный программист». Часть 5
Часть 1
Часть 2
Часть 3
Часть 4
7. Важность рефакторинга
Вот определение рефакторинга, которое дал Мартин Фаулер:
Дисциплинированный метод реструктуризации существующей части кода, изменения его внутренней структуры без изменения его внешнего поведения.
Иногда вы найдёте код, который кажется неправильным, и его следует исправить или улучшить. И вы должны помнить, что лучший момент для этого - сейчас, когда вы его нашли. Это неизбежно: код программы должен расти, развиваться и улучшаться. Для этого вам нужно будет переосмыслить некоторые решения и изменить код. Поэтому убедитесь, что он покрыт тестами, чтобы гарантировать, что внешнее поведение не изменится.
В отличие от строительства, написание программ ближе к садоводству, оно ближе к живой природе, чем к бетонным конструкциям. Вы постоянно следите за состоянием сада и при необходимости вносите изменения.
— Программист-прагматик
Вот список подходящих ситуаций для рефакторинга:
- Убрать дублирование кода.
- Сделать некоторые части кода более ортогональными (независимыми друг от друга).
- Обновить устаревший код и/или документацию.
- Повысить производительность.
Вот советы Мартина Фаулера, как провести рефакторинг, не принеся больше вреда, чем пользы:
1. Не пытайтесь провести рефакторинг и добавить функциональность одновременно.
2. Прежде чем приступить к рефакторингу, убедитесь, что у вас есть хорошие тесты. Выполняйте тесты как можно чаще.
3. Делайте короткие, продуманные шаги: переместите поле из одного класса в другой, разделите метод, переименуйте переменную. Частый рефакторинг включает в себя внесение множества локализованных изменений, которые приводят к более масштабным изменениям.
Главное помнить, что рефакторинг - не конкретная задача, а привычка. И, как и в большинстве случаев в жизни, это легче делать, пока проблемы небольшие, как постоянное действие при написании кода. Чем меньше вы проводите рефакторинга сейчас, тем больше времени у вас займёт исправление проблемы в будущем.
Рассматривайте программу, нуждающуюся в рефакторинге, как "опухоль". Чтобы удалить её, требуется хирургическое вмешательство. Вы можете сделать это сразу и удалить её, пока она небольшая. Но если вы будете ждать, пока она вырастет и распространится, то удаление её станет более дорогой и опасной процедурой. Прождёте ещё, и вы можете потерять пациента окончательно.
— Программист-прагматик
8. Основные различия между книгами
Хотя эти книги посвящены схожим предметам, содержание и способ повествования в них не совпадают.
- В книге «Идеальный программист» больше говорится о ежедневной жизни разработчика. Уделяется внимание типичным ситуациям, которые возникают в работе, таким как отношения с отделом продаж или бизнесом, работа в команде или отказы клиентам. Разработчик в книге «Программист-прагматик» рассматривается не как работник. Скорее, даётся обзор области и предлагаются советы для любой ситуации.
- «Идеальный программист» рассматривает разработчика ПО как к профессионального программиста, в то время как «Программист-прагматик» вводит этот совершенно неожиданный термин.
- «Идеальный программист» носит более субъективный характер, поскольку в ней больше личного опыта автора. «Программист-прагматик» кажется более объективной, сосредотачиваясь в основном на советах.
- «Программист-прагматик» содержит больше примеров кода на разных языках программирования, чем «Идеальный программист», что помогает вам понять обсуждаемые концепции.
Источник: https://www.freecodecamp.org/news/lessons-learned-from-the-pragmatic-programmer-and-the-clean-coder/
Чему Можно Научиться из Книг «Программист-прагматик» и «Идеальный программист». Часть 5
Часть 1
Часть 2
Часть 3
Часть 4
7. Важность рефакторинга
Вот определение рефакторинга, которое дал Мартин Фаулер:
Дисциплинированный метод реструктуризации существующей части кода, изменения его внутренней структуры без изменения его внешнего поведения.
Иногда вы найдёте код, который кажется неправильным, и его следует исправить или улучшить. И вы должны помнить, что лучший момент для этого - сейчас, когда вы его нашли. Это неизбежно: код программы должен расти, развиваться и улучшаться. Для этого вам нужно будет переосмыслить некоторые решения и изменить код. Поэтому убедитесь, что он покрыт тестами, чтобы гарантировать, что внешнее поведение не изменится.
В отличие от строительства, написание программ ближе к садоводству, оно ближе к живой природе, чем к бетонным конструкциям. Вы постоянно следите за состоянием сада и при необходимости вносите изменения.
— Программист-прагматик
Вот список подходящих ситуаций для рефакторинга:
- Убрать дублирование кода.
- Сделать некоторые части кода более ортогональными (независимыми друг от друга).
- Обновить устаревший код и/или документацию.
- Повысить производительность.
Вот советы Мартина Фаулера, как провести рефакторинг, не принеся больше вреда, чем пользы:
1. Не пытайтесь провести рефакторинг и добавить функциональность одновременно.
2. Прежде чем приступить к рефакторингу, убедитесь, что у вас есть хорошие тесты. Выполняйте тесты как можно чаще.
3. Делайте короткие, продуманные шаги: переместите поле из одного класса в другой, разделите метод, переименуйте переменную. Частый рефакторинг включает в себя внесение множества локализованных изменений, которые приводят к более масштабным изменениям.
Главное помнить, что рефакторинг - не конкретная задача, а привычка. И, как и в большинстве случаев в жизни, это легче делать, пока проблемы небольшие, как постоянное действие при написании кода. Чем меньше вы проводите рефакторинга сейчас, тем больше времени у вас займёт исправление проблемы в будущем.
Рассматривайте программу, нуждающуюся в рефакторинге, как "опухоль". Чтобы удалить её, требуется хирургическое вмешательство. Вы можете сделать это сразу и удалить её, пока она небольшая. Но если вы будете ждать, пока она вырастет и распространится, то удаление её станет более дорогой и опасной процедурой. Прождёте ещё, и вы можете потерять пациента окончательно.
— Программист-прагматик
8. Основные различия между книгами
Хотя эти книги посвящены схожим предметам, содержание и способ повествования в них не совпадают.
- В книге «Идеальный программист» больше говорится о ежедневной жизни разработчика. Уделяется внимание типичным ситуациям, которые возникают в работе, таким как отношения с отделом продаж или бизнесом, работа в команде или отказы клиентам. Разработчик в книге «Программист-прагматик» рассматривается не как работник. Скорее, даётся обзор области и предлагаются советы для любой ситуации.
- «Идеальный программист» рассматривает разработчика ПО как к профессионального программиста, в то время как «Программист-прагматик» вводит этот совершенно неожиданный термин.
- «Идеальный программист» носит более субъективный характер, поскольку в ней больше личного опыта автора. «Программист-прагматик» кажется более объективной, сосредотачиваясь в основном на советах.
- «Программист-прагматик» содержит больше примеров кода на разных языках программирования, чем «Идеальный программист», что помогает вам понять обсуждаемые концепции.
Источник: https://www.freecodecamp.org/news/lessons-learned-from-the-pragmatic-programmer-and-the-clean-coder/
- 👍 3






