JavaRush /Java блог /Random /Кофе-брейк #39. 6 причин знать хотя бы один язык программ...

Кофе-брейк #39. 6 причин знать хотя бы один язык программирования. 12 полезных правил рефакторинга

Статья из группы Random

6 причин знать хотя бы один язык программирования

Источник: Hackernoon Возможно, вы никогда не соприкасались с компьютерными науками. Но существует как минимум 6 причин для того чтобы выучить хотя бы один язык программирования.Кофе-брейк #39. 6 причин знать хотя бы один язык программирования. 12 полезных правил рефакторинга - 1

1. Чтобы понять, где вы проводите 28300 часов своей жизни

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

2. Чтобы облегчить себе жизнь

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

3. Чтобы уметь создавать новое

Каждое используемое вами устройство: от мобильного телефона до электрогитары использует в своей работе код. Таким образом, программирование присутствует в нашей жизни. Поэтому, чем бы вы ни увлекались, вы можете создавать новые вещи с помощью программирования. Неважно, кто вы: музыкант или юрист — сейчас каждый может проявить свои творческие способности, если знает язык программирования.

4. Чтобы улучшить свое резюме

Нет ничего плохого в том, чтобы добавить что-то новое в свое резюме, верно? Так почему бы не добавить программирование в качестве дополнительного навыка? Знание языка программирования может выделить ваше резюме среди других. Это укажет на то, что вы человек, который не боится изучать что-то нестандартное и не боится принимать вызов. Кроме того, это показывает, что вы в курсе современных технологий.

5. Чтобы усилить навыки решения проблем

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

6. Чтобы расширить карьерные возможности

2020 год принес нам кучу сюрпризов. Рынок труда полностью изменился из-за COVID-19. Многие профессии потеряли актуальность, и люди пытаются найти новые возможности для выживания. Так что нет никаких гарантий, что ваша профессия будет существовать через 30 лет. Иметь запасной вариант — мудрое решение.

Когда код нуждается в рефакторинге: 12 полезных правил

Источник: Medium Рефакторинг, по своей сути, это перепроектирование кодовой базы, изменение внутренней структуры программы. Процесс рефакторинга часто совмещают с исправлением ошибок, добавлением новых функций и настройкой производительности. Но не стоит забывать: рефакторинг — это не ревью кода и не исправление ошибок.Кофе-брейк #39. 6 причин знать хотя бы один язык программирования. 12 полезных правил рефакторинга - 2

Почему стоит потратить время на изучение рефакторинга

Если вы начинающий разработчик, то обучение рефакторингу кода и, что более важно, умению распознавать, когда проводить рефакторинг, станет для вас важным навыком. Многие разработчики пропускают рефакторинг. В результате их код выглядит посредственным, запутанным и плохо читается. Как понять, когда код нуждается в рефакторинге? Существует 12 правил, которые помогут это определить:
  1. Список параметров вашего класса стал слишком большим? Он трудно поддается тестированию и отладке? Тогда это главный кандидат на рефакторинг.
  2. В вашем коде есть методы внутри классов, которые используют только одну из зависимостей классов? Вам лучше вынести этот метод в отдельный класс — даже если этот класс будет состоять только из одного метода.
  3. Ваш метод выполняет два разных задания в зависимости от значения логического параметра? В таком случае лучше создать два разных метода с четкими обязанностями.
  4. В вашем методе есть разветвление по значению? Например, вы проверяете тип объекта и выполняете различные операции в зависимости от его типа. Это отличный случай, чтобы превратить ваш if-else или switch в словарь.
  5. Вы часто используете в своем коде if-else или switches? Попробуйте вместо этого использовать полиморфизм и применить проверенные в боях шаблоны проектирования, такие как Strategy или Mediator.
  6. Конструктор или метод вашего класса принимает «магическое» число или строку? Замените магию обычными перечислениями.
  7. У вас есть четко запрограммированные значения (числа или строки)? Вместо этого возьмите значения в качестве параметров и сделайте их конфигурируемыми. Вам станет проще повторно использовать или развертывать ваше приложение в новых средах или изменять настройки.
  8. Не используйте имена переменных вроде i, j, k, m, n, x. Просто перестаньте это делать.
  9. Вы обнаружили, что часто используете одну и ту же логику в нескольких местах? Переместите логику в собственный класс или метод.
  10. В вашем коде есть классы Service или Manager? Они похожи на швейцарский армейский нож — много возможностей, которые редко применяются. Найдите минутку, чтобы подумать, какие задачи в них можно использовать, а затем переместите каждую отдельную задачу в отдельный класс.
  11. Вы считаете, что сложно тестировать один метод, потому что класс, в котором он находится, принимает множество аргументов конструктора? Тогда заберите метод из класса.
  12. Вам нужно добавить новый else-if или switch для реализации нового требования или функции? Попробуйте использовать интерфейсы и рефлексию для автоматического обнаружения типов.

Как рефакторинг улучшает качество внутреннего программного обеспечения?

Выполняя рефакторинг, вы улучшаете одну или несколько характеристик кода:
  • Ремонтопригодность – убедитесь, что вы легко можете вносить изменения в свое программное обеспечение. Ремонтопригодность включает добавление новых функций, настройку производительности, простоту исправления ошибок.
  • Гибкость — диапазон, в котором вы можете модифицировать свое программное обеспечение для выполнения других целей.
  • Переносимость — насколько легко вы можете заставить программное обеспечение работать в другой среде.
  • Возможность повторного использования — насколько легко вы можете использовать части своего программного обеспечения в других системах.
  • Читаемость — насколько легко вы можете читать и понимать исходный код не только на уровне интерфейса, но и в мельчайших деталях реализации.
  • Возможность тестирования — простота создания модульных тестов, интеграционных тестов.
  • Понимание — как легко понять ваше программное обеспечение на общем уровне. Убедитесь, что ваша кодовая база имеет структурированное содержание.
Комментарии (4)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Андрей Уровень 29 Expert
28 августа 2020
Rodion Kuzmin Уровень 0
27 августа 2020
Хотелось бы уточнить пункт про "ремонтопригодность": как известно, код должен быть открыт для расширений, но закрыт для изменений, что противоречит описанию вышеуказанного свойства, поэтому я, скорее всего, не совсем его понял, можно разъяснить немного поподробнее? Как именно добиться этого свойства кода?