1

Тема: Хороші і погані сторони OOP

Все почалось ось тут: http://replace.org.ua/post/35222/#p35222

Декілька запитань:
1. Хто як пише код, використовуєте всюди ООР чи ні?
2. Які для вас плюси об'єктно орієнтованого підходу  в програмуванні?

2

Re: Хороші і погані сторони OOP

використовую всюди.
з переваг як на мене - краща структурованість і набагато менший шанс заплутатись

Qt 5.4.0

3

Re: Хороші і погані сторони OOP

1. Залежить від мети. Маленькі програми на 1-2 файли - переважно без ООП (хоча залежить від предметної області). Великі проекти без ООП - це, переважно, ЖАХ.
2. Основне це читаність коду - ООП реалізує кілька майже самоочевидних для людини концепцій, які інакше треба формулювати зовсім іншим чином. Економніший ООП-код - це наслідок покращення читаності, стає легше дописувати різні фішки. Ну і можна на рівні компілятора вказати іншим програмістам, куди лізти не варто, що теж непогано.

4

Re: Хороші і погані сторони OOP

Ну і можна на рівні компілятора вказати іншим програмістам, куди лізти не варто, що теж непогано.

можна про це детальніше? бо щось на думку, окрім препроцесорів, нічого не спадає

(function(){
  console.log("called anonymously");
})()

5 Востаннє редагувалося quez (25.09.2014 14:44:34)

Re: Хороші і погані сторони OOP

muhasjo написав:

Ну і можна на рівні компілятора вказати іншим програмістам, куди лізти не варто, що теж непогано.

можна про це детальніше? бо щось на думку, окрім препроцесорів, нічого не спадає

private ж

Ну і по темі.
1. Тут більше від інструмента залежить. На джаві простіше написати з ООП навіть простеньку програму, ніж городити static-методи. А на джаваскрипті чи луа простіше без них, як мінімум поки проект не дуже великий.

МАКЕ ЦКЯАІИЕ БЯЕАТ АБАІИ
Подякували: koala1

6

Re: Хороші і погані сторони OOP

quez написав:
muhasjo написав:

Ну і можна на рівні компілятора вказати іншим програмістам, куди лізти не варто, що теж непогано.

можна про це детальніше? бо щось на думку, окрім препроцесорів, нічого не спадає

private ж

в приватні методи програміст тоже може залізти. Чи тут вся суть у варнінгу-ерорі, як вказівка програмісту?

(function(){
  console.log("called anonymously");
})()

7

Re: Хороші і погані сторони OOP

На Java неможливо написати не-ООП програму; інша справа, що можна написати погану ООП програму...
І так, суть тут в повідомленні, що щось не те відбувається. Найпростіший приклад - кожного разу, коли змінюється якесь значення в структурі, треба смикати певну функцію (хоча б логи писати). Спробуйте імітувати це за допомогою препроцесорів і static-змінних в файлах...

8

Re: Хороші і погані сторони OOP

+ це те,що можна "все розкласти по поличкам" (це можна зробити і в процедурці),але тут простіше відділити різні за призначенням шматки програми.
- коли цим (на мою думку) зловживають і пхають ооп скрізь,да так,що процес розбору програми стає головоломкою. Особливо,коли програміст хоче створити особливий,цікавий код . aka Class::ThisMethod(Class::ThisMethod(Class->ThisMethod(new Class::ThisMethod('ARG',ARG2)))) і тому подібне

=)

9

Re: Хороші і погані сторони OOP

-: Так функціональщину теж так можна:
functionOne( functionTwo( functionThree, functionFour() + varOne ), functionFive('ARG' )->member ) )...

10

Re: Хороші і погані сторони OOP

muhasjo написав:
quez написав:
muhasjo написав:

можна про це детальніше? бо щось на думку, окрім препроцесорів, нічого не спадає

private ж

в приватні методи програміст тоже може залізти. Чи тут вся суть у варнінгу-ерорі, як вказівка програмісту?

Дивлячись, що ви маєте на увазі під "залізти". Просто його не викликати. Звичайно, в Java є рефлексія, яка дозволяє отримати доступ до приватних полів і методів, якщо дуже хочеться. Але програмісту має бути зрозуміло, що то внутрішня реалізація, і одного дня "карбюратор може бути замінений на інжектор, і машина перестане їхати", якщо хочете. Навіть в Lua, де немає приватних методів (в реалізації luabind), програмісти позначають приватні і публічні методи в коментарях. Але помилково викликати приватний метод все одно можна. Тому - так: суть еррорі-підказці.

МАКЕ ЦКЯАІИЕ БЯЕАТ АБАІИ

11

Re: Хороші і погані сторони OOP

funivan написав:

Все почалось ось тут: http://replace.org.ua/post/35222/#p35222

Декілька запитань:
1. Хто як пише код, використовуєте всюди ООР чи ні?
2. Які для вас плюси об'єктно орієнтованого підходу  в програмуванні?

1. Зазвичай ООП там де це необхідно, тобто, наприклад де юзається MVC-патерн, то там інакше не получить, інакше це вийде незвязний код, велосипед, і т.д.
Не використовую ООП наприклад у всяких утилітах типу:

\Utils::ConvertToCamel($str, $delimiter);

2. Плюс в тому що код пишеться для людей + легко розширювати. Це вже було сказано паном Koala

(function(){
  console.log("called anonymously");
})()

12

Re: Хороші і погані сторони OOP

koala написав:

-: Так функціональщину теж так можна:
functionOne( functionTwo( functionThree, functionFour() + varOne ), functionFive('ARG' )->member ) )...

Зазвичай щоб такого гк не використовувати і використовують класи,де створив обєкт з конструктором,передав в нього параметри та викликав головний метод (який і виведе,все що потрібно) і все.

=)

13

Re: Хороші і погані сторони OOP

тема   мільйон  разів  обсмоктувалася   в  інеті.
   Я  зауважу  лише  одне - ООП  це  не  тільки  парадигма  програмування - це  спосіб  мислення.
   Не  вмієте  мислити  об'єктами - обговорення  плюсів  і   мінусів  не  має ніякого сенсу.

Путлер капут!

14

Re: Хороші і погані сторони OOP

тема   мільйон  разів  обсмоктувалася   в  інеті.

те що мусолилась в інеті це ми знаємо. Мені хотілось почути думку користувачів форуму ;)

15

Re: Хороші і погані сторони OOP

Десь я вже порівнював ці два стилі програмування...
На мій погляд, в певній мірі, процедурний стиль програмування можна порівняти з автомобільним транспортом, а ООП з підземним метро.

Якщо розглядати машину в контексті "зручно - сів та й поїхав куди треба" то все чудово й логічно, особливо в сільській місцевості, де у вас майже відсутні конкуренти.

АЛЕ

Якщо ви коли небудь жили у великому місті, чи хоча б гостювали там, то вам мабуть відомі проблеми з перевантаженістю автомобільних доріг, тобто з пробками.

Метро - інша справа. Хоча там все значно обмеженіше в плані маневрування, але за рахунок підпорядкуванню глобальній схемі руху, ви можете в рази швидше довезти пасажирів з одного кінця міста в інший, особливо в умовах інтенсивного потоку транспорту.

Подякували: karmeljuk, Replace2

16

Re: Хороші і погані сторони OOP

Тонко
http://vk.com/wall-30666517_1077942

=)
Подякували: P.Y.1

17

Re: Хороші і погані сторони OOP

VTrim написав:

Тонко
http://vk.com/wall-30666517_1077942

Це відвертий тролізм. Не більше.

18

Re: Хороші і погані сторони OOP

ktretyak написав:
VTrim написав:

Тонко
http://vk.com/wall-30666517_1077942

Це відвертий тролізм. Не більше.

Але в багатьох випадках ООП таким чином і використовують.

=)
Подякували: HetmanNet1

19

Re: Хороші і погані сторони OOP

VTrim написав:
ktretyak написав:
VTrim написав:

Тонко
http://vk.com/wall-30666517_1077942

Це відвертий тролізм. Не більше.

Але в багатьох випадках ООП таким чином і використовують.

Якщо є багато випадків, то мабуть ви зможете навести хоча б один із них, так?

20

Re: Хороші і погані сторони OOP

ktretyak написав:
VTrim написав:
ktretyak написав:

Це відвертий тролізм. Не більше.

Але в багатьох випадках ООП таким чином і використовують.

Якщо є багато випадків, то мабуть ви зможете навести хоча б один із них, так?

Чим тобі то не приклад був  :D

Віддамся на один вечір в хороші дівочі руки.. не дорого, в у.о. .. Якщо сподобається, то залишуся безкоштовно назавжди..