LINUX.ORG.RU

История изменений

Исправление emorozov, (текущая версия) :

Так проблема-то не в ООП, а в неумении применять. И это не только к ООП относится.

Я вот только вчера увидел код на Пыхтоне, который в 9 строк форматирует число с пробелом в качестве разделителя разрядов. И этот код скопипасчен в 5-6 других мест. То, что можно сделать одной строкой, если почитать доку по основам Пыхтона.

И, например, люди концентрируются на какой-то байде. Например, если в коде на Пыхтоне вижу попытки в «приватные» переменные (self.__variable), то 100% дальше будет адский говнокод. Потому что книги рассказывают, что один из столпов ООП — это «инкапсуляция». А на деле, она вообще ни на что не влияет, особенно в скриптовых языках, гораздо больше на поддерживаемость и читаемость влияет общая архитектура, которую нельзя так просто изучить и применять, как расставлять всюду private или __, чувствуя себя гением ООП. «Инкапсуляция - это же хорошо? Хорошо, каждая книжка так пишет. Поэтому всюду расставлю private, и получу хороший код автоматом!»

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

Проблема в том, что напрочь отсутствует понимание как и когда это применять, чтобы получать хороший код. Этому уже нельзя научиться заучиванием определений и расстановкой «правильных» ключевых слов типа «private». Для этого нужно много практики и талант, и время, и черт знает что ещё…

Исходная версия emorozov, :

Так проблема-то не в ООП, а в неумении применять. И это не только к ООП относится.

Я вот только вчера увидел код на Пыхтоне, который в 9 строк форматирует число с пробелом в качестве разделителя разрядов. И этот код скопипасчен в 5-6 других мест. То, что можно сделать одной строкой, если почитать доку по основам Пыхтона.

И, например, люди концентрируются на какой-то байде. Например, если в коде на Пыхтоне вижу попытки в «приватные» переменные (self.__variable), то 100% дальше будет адский говнокод. Потому что книги рассказывают, что один из столпов ООП — это «инкапсуляция». А на деле, она вообще ни на что не влияет, особенно в скриптовых языках, гораздо больше на поддерживаемость и читаемость влияет общая архитектура, которую нельзя так просто изучить и применять, как расставлять всюду private или __, чувствую себя гением ООП. «Инкапсуляция - это же хорошо? Хорошо, каждая книжка так пишет. Поэтому всюду расставлю private, и получу хороший код автоматом!»

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

Проблема в том, что напрочь отсутствует понимание как и когда это применять, чтобы получать хороший код. Этому уже нельзя научиться заучиванием определений и расстановкой «правильных» ключевых слов типа «private». Для этого нужно много практики и талант, и время, и черт знает что ещё…