Найти в Дзене

Бритва Оккама в программировании

Продолжаем наше знакомство с принципами разработки программного обеспечения и на очереди Бритва Оккама – Occam’s Razor.

Это очень распространенная идея, которая пришла в программирование из философии. Принцип получил свое имя в честь английского монаха Уильяма из Оккама. Данный принцип гласит следующее: «Не следует множить сущее без необходимости».

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

Не следует множить сущности без необходимости
Не следует множить сущности без необходимости

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

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

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

А где еще по вашему мнению можно применить Бритву Оккама в сфере программирования?

Также можете прочитать мою предыдущую статью — Принцип программирования DRY. И подписывайтесь на группу ВКонтакте, Telegram, Инстаграм и YouTube-канал . Там еще больше полезного и интересного для программистов.

Рекомендуем почитать
Документы, вакансии и контакты