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

228 full reads
296 story viewsUnique page visitors
228 read the story to the endThat's 77% of the total page views
50 seconds — average reading time

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

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

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

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

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

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

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

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

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