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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Обзор: ООП где-то рядом ч.3. [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: еще немного продолжения..
EuGen Администратор
Отправлено: 01 Декабря, 2011 - 12:56:13
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Хочется привести свою точку зрения, но не хочется переписывать. Приведу цитату:
EuGen в ( http://forum.php.su/topic.php?fo...33&topic=757 ) пишет:
Каждый раз я вижу, что, пытаясь постигнуть ООП, начинающие программисты безнадежно увязают в хитросплетениях его конкретной реализации в конкретном языке. А это - не есть ООП, так как ООП - это парадигма, теоретическое построение, если хотите. Поэтому нельзя вникнуть в него просто начав "писать код". Осознание должно быть на теоретическом уровне, абстрактном уровне мышления. Ровно поэтому при описании, обучению ООП часто можно видеть отвлеченные от программирования примеры ("Представим себе, что у нас есть сущность - фрукт, и ее экземпляры - банан, апельсин, груша, и у них есть свойства {...} и т.п."). Ведь если все мы вспомним, как в детстве нас учили числам - мы придем к тому же самому. Все помним, как считали яблоки в раннем детстве? Это может показаться смешным или странным, но именно тогда в нас всех закладывалось абстрактное восприятие чисел. Спросите сейчас себя - что такое "число семнадцать"? Вы не найдете точного ответа, так как это - абстракция, отвлеченно от реального применения (семнадцать яблок, семнадцать мгновений весны и т.п.) не имеющая конкретного смысла. Аналогично и ООП в программировании. Это - абстракция, это - теория. И разница в понимании/непонимании ее - на том же уровне, как понимание/непонимание абстракции чисел. Оттого и сложно ее постичь.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Stierus Супермодератор
Отправлено: 01 Декабря, 2011 - 12:57:00
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




DeepVarvar, опиши различия в подходах ... ты написал 3 статьи, но нет ничего кроме дезинформации Улыбка Здесь есть дезинформация? - есть ... твой пример неадекватен, с разделяемыми ресурсами работают везде одинаково - есть ряд методов, среди которых и блокировка, как в твоем втором примере. То есть эта статья дает ложные представления о функциональном программировании. Предыдущие 2 я уже не помню, но когда читал - вопросов было тоже больше чем ответов. Я уже 3-ю статью пытаюсь до тебя донести - ТЫ ГОВОРИШЬ НЕПРАВДУ, ты пишешь то, чего нет. Напиши, как есть на самом деле, чем они отличаются, либо не пиши Улыбка
 
My status
 Top
DeepVarvar Супермодератор
Отправлено: 01 Декабря, 2011 - 13:03:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Stierus пишет:
с разделяемыми ресурсами работают везде одинаково
Это ты, EuGen, многие другие и я, так работаем..
А некоторые вообще никак не работают - они просто пишут сказку про Васю первой версии. Неужели ты думаешь я с неба все это взял?
(Добавление)
Самогонщик пишет:
ООП по прежнему где-то рядом.
А мы и не сможем подойти ближе не начав разбирать реальный пример.
Самогонщик пишет:
Про табы очень холиварно, даже не смотря на то, что я их фанат.
Сам такой же - бешусь даже от лишнего пробела в коде...
 
 Top
DlTA
Отправлено: 01 Декабря, 2011 - 13:07:23
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




Сори за фтопик
DeepVarvar пишет:
Сам такой же - бешусь даже от лишнего пробела в коде...

переформатируешь весь код?
 
 Top
DeepVarvar Супермодератор
Отправлено: 01 Декабря, 2011 - 13:09:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




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

DlTA пишет:
переформатируешь весь код?
Да!!! Джедаи
 
 Top
Stierus Супермодератор
Отправлено: 01 Декабря, 2011 - 14:21:20
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




DlTA пишет:
переформатируешь весь код?
В современных IDE настраивается стиль программирования. Любой криво написанный файл (с точки зрения отступов и переносов) можно привести к этому стилю нажатием 1 кнопки.
 
My status
 Top
Champion Супермодератор
Отправлено: 01 Декабря, 2011 - 18:24:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Крепкого здоровья Васе и Мише, с днем рождения обоих.
Но!
1. Суть сказок в том, что прежде чем что-то сделать, стоит подумать. Во второй сказке Вася подумал, оценил ситуацию и забил себе товар заранее. В этом он молодец. Но он не проявлял объектно ориентированного подхода. Он просто включил мозги. На этом отличие сказок заканчивается.
2. А что вообще такое процедурный стиль и объектно ориентированный подход? Я могу написать такое утверждение: можно реализовывать объектно ориентированный подход в процедурном стиле. Что это значит? Это значит, что есть, например, язык Си. В нем нету классов. Но ничего не мешает программировать на нем следуя объектному подходу. Нужно только разработать удачные соглашения и правила - например хранить в одном файле то, что в ООПшном языке Вы бы поместили в один класс. Именовать приветные переменные и методы с символа _ или там буквы р. Придумать еще что-нибудь для решения проблемы с видимостью переменных.
3. Само по себе использование классов ничего не дает. Можно и с ними поднасрать очень много, а можно и без них написать вполне удачную реализацию.

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

В следующих главах, надеюсь, будут примеры в стиле вот так плохо, а вот так мы сделаем с ООП. Я тогда попробую сделать вид, что я яростный противник ООП и потроллить тебя. Твои ответы на этот троллинг, вполне вероятно, дадут неплохое описание преимуществ ООП там, где оно действительно есть. Так что жду качественных примеров)
(Добавление)
И еще немного (по пункту "быдлокот"):
DeepVarvar пишет:
Используйте табуляцию,
Я тоже сторонник табуляции, но не считаю отступы пробелами признаком быдлокода. Хотя абсолютно не понимаю использования пробелов.
DeepVarvar пишет:
Комментируйте все действия в коде
Вот этого делать не надо. А то будет
// подключаемся к БД
// начинаем цикл
// ставим перенос строки
// закрываем фигурную скобочку
Комментарии должны (не считая PHPDoc) отвечать только на вопрос "Почему именно так" и в редких случаях на вопрос "что тут делается". На вопрос что тут делается обынчно должно отвечать название вызываемой функции и/или переменная, которой после этого присваивается результат.
Т.е. если напрашивается такой коммент, то скорее всего напрашивается вынос этого куска кода в отдельную удачно именованную функцию (которую можно и сопроводить PHPDoc-ом). Остальные комментарии просто затрудняют восприятие кода.
DeepVarvar пишет:
Перед тем как садиться за написание, возьмите ручку и бумагу и нарисуйте квадратиками и стрелочками, что куда
Экстемальное программирование иногда (и даже часто в небольших задачах) эффективнее этого подхода, потому что на квадратики в этом случае уйдет только лишнее время. Но это касается только небольших задач
 
 Top
DeepVarvar Супермодератор
Отправлено: 01 Декабря, 2011 - 18:54:59
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Champion, отличный комментарий, прям класс Закатив глазки
Да, именно в следующей статейке буду разбирать реальный пример.
Думаю что это будет сайтик статей. Но может быть и еще чего нибудь придумаю.
 
 Top
Alexk-Alpha
Отправлено: 13 Мая, 2013 - 18:37:39
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




DeepVarvar

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

С удовольствием читаю все Ваши статьи!
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Обсуждение статей »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB