Задать вопрос
Umidrifkatov
@Umidrifkatov
Python разработчик

Как действительно поможет ООП в реальной программе?

Пишу телеграм бота, код стал очень громоздким и нечитабельным. Решил применить ООП т.к. в плюсах ООП написано что упрощает поддержку кода и его читабельность. Перечитал все курсы пересмотрел видео Corey Schafer и не могу понять как мне может это все помочь написать более лаконичный код чтобы его можно было поддерживать, легко модифицировать и остаться DRY. Спасибо за ответ.
  • Вопрос задан
  • 326 просмотров
Подписаться 4 Средний 1 комментарий
Решения вопроса 1
mayton2019
@mayton2019
Bigdata Engineer
ООП - это более аккуратная разработка с использованием приципов SOLID, KILL, YAGNI (это аббревиатуры) и если вы - 1 разработчик то вам будет очень сложно дисциплинировать себя чтобы следовать ООП. По смыслу это выглядит - как очень сильная формализация логики чтобы не было 1 длинной простыни кода а были небольшие сущности по 5-7 строк и каждая из них обладала бы 1 единственной зоной ответственности.

По большему счету польза от ООП проявляется на очень крупных проектах (больше десятков тыщ строк кода) и где много разрабов одновременно кодят и вносят изменениея.

Если у автора - мелкий pet-проект то возможно ООП ему и не нужно.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
Maksclub
@Maksclub
maksfedorov.ru
ООП упрощает код, логику и понимание...
Но только в случае подготовленного человека. Соответственно пока нет осознанности в происходящем и опыта, то ясен пень — будет сложно и не понятно

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

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

Без ООП — абстракции не будут иметь четких границ и смысл будет в разобранном состоянии собираться из крупиц по коду и данным, но и такой, процедурный подход, имеет преимущества
Ответ написан
Комментировать
Adamos
@Adamos
ООП позволит держать в голове только нужный кусок кода, над которым сейчас работаешь. Потому что его взаимосвязи с другими кусками кода аккуратно выстроены, понятны и минимальны.
Естественно, чтобы этого добиться, нужно не читать курсы и смотреть мультики, а писать, выкидывать написанное и постепенно научиться писать так, чтобы выкидывать не пришлось.
Ответ написан
Комментировать
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Перечитал все курсы пересмотрел видео

Странно, что не помогло!

00013r4b.png
Ответ написан
Комментировать
@majstar_Zubr
C++, C#, gamedev
ООП не про локаничный код, а про упрощение внесения изменений, т.к. все области изменений в текстовом виде локализованы в классах, пространствах имён, модулях. Области изменений непосредственно связаны с абстракциями, и чем грамотнее абстракции сформированы, тем быстрее и проще рефакторить код. В общем случае, под абстракциями понимаются не только модели и сущности, которые относятся к задаче, но и связанные с ними процессы,
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы