Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Обзор: ООП где-то рядом ч.3. [2]
Форумы портала PHP.SU » Разное » Обсуждение статей » Обзор: ООП где-то рядом ч.3.

Страниц (2): « 1 [2]
 

16. EuGen - 01 Декабря, 2011 - 12:56:13 - перейти к сообщению
Хочется привести свою точку зрения, но не хочется переписывать. Приведу цитату:
EuGen в ( http://forum.php.su/topic.php?fo...33&topic=757 ) пишет:
Каждый раз я вижу, что, пытаясь постигнуть ООП, начинающие программисты безнадежно увязают в хитросплетениях его конкретной реализации в конкретном языке. А это - не есть ООП, так как ООП - это парадигма, теоретическое построение, если хотите. Поэтому нельзя вникнуть в него просто начав "писать код". Осознание должно быть на теоретическом уровне, абстрактном уровне мышления. Ровно поэтому при описании, обучению ООП часто можно видеть отвлеченные от программирования примеры ("Представим себе, что у нас есть сущность - фрукт, и ее экземпляры - банан, апельсин, груша, и у них есть свойства {...} и т.п."). Ведь если все мы вспомним, как в детстве нас учили числам - мы придем к тому же самому. Все помним, как считали яблоки в раннем детстве? Это может показаться смешным или странным, но именно тогда в нас всех закладывалось абстрактное восприятие чисел. Спросите сейчас себя - что такое "число семнадцать"? Вы не найдете точного ответа, так как это - абстракция, отвлеченно от реального применения (семнадцать яблок, семнадцать мгновений весны и т.п.) не имеющая конкретного смысла. Аналогично и ООП в программировании. Это - абстракция, это - теория. И разница в понимании/непонимании ее - на том же уровне, как понимание/непонимание абстракции чисел. Оттого и сложно ее постичь.
17. Stierus - 01 Декабря, 2011 - 12:57:00 - перейти к сообщению
DeepVarvar, опиши различия в подходах ... ты написал 3 статьи, но нет ничего кроме дезинформации Улыбка Здесь есть дезинформация? - есть ... твой пример неадекватен, с разделяемыми ресурсами работают везде одинаково - есть ряд методов, среди которых и блокировка, как в твоем втором примере. То есть эта статья дает ложные представления о функциональном программировании. Предыдущие 2 я уже не помню, но когда читал - вопросов было тоже больше чем ответов. Я уже 3-ю статью пытаюсь до тебя донести - ТЫ ГОВОРИШЬ НЕПРАВДУ, ты пишешь то, чего нет. Напиши, как есть на самом деле, чем они отличаются, либо не пиши Улыбка
18. DeepVarvar - 01 Декабря, 2011 - 13:03:33 - перейти к сообщению
Stierus пишет:
с разделяемыми ресурсами работают везде одинаково
Это ты, EuGen, многие другие и я, так работаем..
А некоторые вообще никак не работают - они просто пишут сказку про Васю первой версии. Неужели ты думаешь я с неба все это взял?
(Добавление)
Самогонщик пишет:
ООП по прежнему где-то рядом.
А мы и не сможем подойти ближе не начав разбирать реальный пример.
Самогонщик пишет:
Про табы очень холиварно, даже не смотря на то, что я их фанат.
Сам такой же - бешусь даже от лишнего пробела в коде...
19. DlTA - 01 Декабря, 2011 - 13:07:23 - перейти к сообщению
Сори за фтопик
DeepVarvar пишет:
Сам такой же - бешусь даже от лишнего пробела в коде...

переформатируешь весь код?
20. DeepVarvar - 01 Декабря, 2011 - 13:09:11 - перейти к сообщению
Stierus пишет:
ТЫ ГОВОРИШЬ НЕПРАВДУ
Сядь, напиши правду. Напиши. Не нужно только слов. Еще в самой первой статье я просил - цитируйте, дополняйте, поправляйте.
(Добавление)

DlTA пишет:
переформатируешь весь код?
Да!!! Джедаи
21. Stierus - 01 Декабря, 2011 - 14:21:20 - перейти к сообщению
DlTA пишет:
переформатируешь весь код?
В современных IDE настраивается стиль программирования. Любой криво написанный файл (с точки зрения отступов и переносов) можно привести к этому стилю нажатием 1 кнопки.
22. Champion - 01 Декабря, 2011 - 18:24:10 - перейти к сообщению
Крепкого здоровья Васе и Мише, с днем рождения обоих.
Но!
1. Суть сказок в том, что прежде чем что-то сделать, стоит подумать. Во второй сказке Вася подумал, оценил ситуацию и забил себе товар заранее. В этом он молодец. Но он не проявлял объектно ориентированного подхода. Он просто включил мозги. На этом отличие сказок заканчивается.
2. А что вообще такое процедурный стиль и объектно ориентированный подход? Я могу написать такое утверждение: можно реализовывать объектно ориентированный подход в процедурном стиле. Что это значит? Это значит, что есть, например, язык Си. В нем нету классов. Но ничего не мешает программировать на нем следуя объектному подходу. Нужно только разработать удачные соглашения и правила - например хранить в одном файле то, что в ООПшном языке Вы бы поместили в один класс. Именовать приветные переменные и методы с символа _ или там буквы р. Придумать еще что-нибудь для решения проблемы с видимостью переменных.
3. Само по себе использование классов ничего не дает. Можно и с ними поднасрать очень много, а можно и без них написать вполне удачную реализацию.

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

В следующих главах, надеюсь, будут примеры в стиле вот так плохо, а вот так мы сделаем с ООП. Я тогда попробую сделать вид, что я яростный противник ООП и потроллить тебя. Твои ответы на этот троллинг, вполне вероятно, дадут неплохое описание преимуществ ООП там, где оно действительно есть. Так что жду качественных примеров)
(Добавление)
И еще немного (по пункту "быдлокот"):
DeepVarvar пишет:
Используйте табуляцию,
Я тоже сторонник табуляции, но не считаю отступы пробелами признаком быдлокода. Хотя абсолютно не понимаю использования пробелов.
DeepVarvar пишет:
Комментируйте все действия в коде
Вот этого делать не надо. А то будет
// подключаемся к БД
// начинаем цикл
// ставим перенос строки
// закрываем фигурную скобочку
Комментарии должны (не считая PHPDoc) отвечать только на вопрос "Почему именно так" и в редких случаях на вопрос "что тут делается". На вопрос что тут делается обынчно должно отвечать название вызываемой функции и/или переменная, которой после этого присваивается результат.
Т.е. если напрашивается такой коммент, то скорее всего напрашивается вынос этого куска кода в отдельную удачно именованную функцию (которую можно и сопроводить PHPDoc-ом). Остальные комментарии просто затрудняют восприятие кода.
DeepVarvar пишет:
Перед тем как садиться за написание, возьмите ручку и бумагу и нарисуйте квадратиками и стрелочками, что куда
Экстемальное программирование иногда (и даже часто в небольших задачах) эффективнее этого подхода, потому что на квадратики в этом случае уйдет только лишнее время. Но это касается только небольших задач
23. DeepVarvar - 01 Декабря, 2011 - 18:54:59 - перейти к сообщению
Champion, отличный комментарий, прям класс Закатив глазки
Да, именно в следующей статейке буду разбирать реальный пример.
Думаю что это будет сайтик статей. Но может быть и еще чего нибудь придумаю.
24. Alexk-Alpha - 13 Мая, 2013 - 18:37:39 - перейти к сообщению
DeepVarvar

Огромная благодарность автору! В особенности за первые две статьи. Они хоть дают только поверхностное представление об ООП, но после них намного проще понимается более серьёзный материал)

С удовольствием читаю все Ваши статьи!

 

Powered by ExBB FM 1.0 RC1