Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (5) [1] 2 3 ... Последняя » ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Геттеры и сеттеры
chee  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 2047
Пользователь №: 38654
На форуме: 3 года, 7 месяцев, 14 дней
Карма: 47




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

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

PS: Я не собираюсь спорить о геттерах и сеттерах, я всего лишь собираю информацию для принятия решения.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог | SetCMS
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 16220
Пользователь №: 6543
На форуме: 8 лет, 10 месяцев, 14 дней
Карма: 304

Трезвый :
6 лет, 7 месяцев, 24 дня


Цитата (chee @ 24.10.2015 - 18:20)
(а не твин и его преспешники)

У меня нет приспешников.

А ты давай не бузи. Сказано в канонах - никаких публичных свойств, так и держи хвост по ветру. Что за вероотступничество?!!! mad.gif

А вдруг кто захочет... и всё. Пипец инкапсуляции. Ненаучно.


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 2047
Пользователь №: 38654
На форуме: 3 года, 7 месяцев, 14 дней
Карма: 47




Цитата (twin @ 24.10.2015 - 23:03)
Сказано в канонах - никаких публичных свойств, так и держи хвост по ветру. Что за вероотступничество?!!!

Это не про меня, я не фанат ООП. Просто умею, могу, практикую. И я же писал, тебе не писать, надо было сделать блок по id.

Цитата (twin @ 24.10.2015 - 23:03)

У меня нет приспешников.

Есть, и ты это знаешь. Возможно это не приспешники, а просто ты у них такой авторитет.



--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог | SetCMS
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 15409
Пользователь №: 4190
На форуме: 9 лет, 6 месяцев, 12 дней
Карма: 470




Цитата (chee @ 25.10.2015 - 00:57)
Возможно это не приспешники, а просто ты у них такой авторитет.

Сорри за оффтоп... Но на "бога Кузю" Николай пока еще "не тянет" wink.gif


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
inpost  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Помагите Здесь живу!!!
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 22932
Пользователь №: 20039
На форуме: 7 лет, 8 месяцев, 10 дней
Карма: 608




chee
Скажу как не любитель ООП - несколько раз сталкивался с проблемой, когда необходимо было найти причину изменения параметров в огромных скриптах. Или изменить алгоритм не переписывая код в разных местах. Тогда и думал - и почему не делал через оболочки...


--------------------
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
waldicom  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 6297
Пользователь №: 5552
На форуме: 9 лет, 1 месяц, 11 дней
Карма: 165




Не пойму, ты хочешь удрать сеттеры/геттеры и сделать все атрибуты классов глобальными?


--------------------
Свои мозги еще никто не отменял.
Телепатов нету.
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 2047
Пользователь №: 38654
На форуме: 3 года, 7 месяцев, 14 дней
Карма: 47




waldicom, у сущностей есть атрибуты (свойства), я хочу их сделать публичными... и работать через них, то есть устанавливать и брать данные прямиком через свойства.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог | SetCMS
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
waldicom  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 6297
Пользователь №: 5552
На форуме: 9 лет, 1 месяц, 11 дней
Карма: 165




Интересный подход.
Ты хочешь сократить код, лень писать или для чего строить себе проблемы на ровном месте (в нормальных IDE все это можно сгенерировать парой кликов)? Хотя если пользователем классов являешься только и только ты, то можно конечно все сделать глобальным.


--------------------
Свои мозги еще никто не отменял.
Телепатов нету.
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 2047
Пользователь №: 38654
На форуме: 3 года, 7 месяцев, 14 дней
Карма: 47




waldicom, я не хочу спорить о подходе, правильный он или нет, мне нужны примеры подтверждающие что в этом подходе как минимум на ПРАКТИКЕ есть серьезные недостатки. Я ожидаю реальных примеров, который например твои слова полностью подтвердят. Я не отрицаю ТЕОРИТИЧЕСКУЮ полезность геттеров и сеттеров, но на моей практике они бесполезны, я хочу узнать как же у других.

Цитата (waldicom @ 25.10.2015 - 01:45)
в нормальных IDE все это можно сгенерировать парой кликов

это да, но зачем генерировать если, возможно, это бессмысленно?


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог | SetCMS
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
dron4ik  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1703
Пользователь №: 31058
На форуме: 5 лет, 7 месяцев, 7 дней
Карма: 24




Ты вынес мне мозг... А реально, на кой хер нам сеттеры и геттеры если по факту мы даем все тоже самое что и при прямом доступе к свойству...
Ну понятно если нужно класс наследовать, или же есть необходимость перегрузки (пишу параллельно на java), но если класс финальный, ну зачем?)))


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 16220
Пользователь №: 6543
На форуме: 8 лет, 10 месяцев, 14 дней
Карма: 304

Трезвый :
6 лет, 7 месяцев, 24 дня


Цитата (chee @ 24.10.2015 - 20:57)
Это не про меня, я не фанат ООП. Просто умею, могу, практикую

Чё это ты позиции сдаешь? Фанат, фанат. Еще какой фанат. Вон даже Yii говнокодингом обозвал за статику biggrin.gif
Свернутый текст
По секрету скажу, еще и Laravel нужно анафиме предать за это


Так что ты того... Нечего тут. Сказано сеттеры, значит сеттеры. Иначе целибат нарушается. Не смей! mad.gif
Цитата (dron4ik @ 24.10.2015 - 23:03)
А реально, на кой хер нам сеттеры и геттеры если по факту мы даем все тоже самое что и при прямом доступе к свойству..
В 99% случаев это делается для однообразия кода. Чтобы снаружи было "красиво". По сути разницы практически нет. Вот и до chee стало доходить, что безмерный фанатизм на пользу не идет. smile.gif


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Michael  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 6098
Пользователь №: 18498
На форуме: 8 лет, 21 день
Карма: 256




Цитата (chee @ 24.10.2015 - 20:20)
Хотелось бы у бывал, кто разбирается в ООП (а не твин и его преспешники) и кто повседневно использует ООП системы, спросить, если в вашей практике случаи когда геттеры и сеттеры спасали положение и без них бы все печальнее было?

ну а как с такими например объектами как ActiveRecord без сеттеров/геттеров?


--------------------
There never was a struggle in the soul of a good man that was not hard
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 2047
Пользователь №: 38654
На форуме: 3 года, 7 месяцев, 14 дней
Карма: 47




Цитата (Michael @ 25.10.2015 - 11:26)
ну а как с такими например объектами как ActiveRecord без сеттеров/геттеров?

Ну смотри у нас на работе в системе AR используется, геттеры и сеттеры там не используются как и магические методы __get или __set, то есть атрибуты сущностей как и всякого рода зависимости установлены в публичные свойства без сеттеров, и в принципе за 3 года работы, у меня не было претензий по поводу этой схемы. Но проблема в том, что, например мы вообще не кешируем что-либо и не занимаемся переделкой кода под это, а том возможно геттеры и сеттеры нужны, но я точно не уверен, потому и спрашиваю.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог | SetCMS
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 15409
Пользователь №: 4190
На форуме: 9 лет, 6 месяцев, 12 дней
Карма: 470




chee, насчет геттеров-сеттеров по сравнению с прямым доступом внесу свои "5 копеек". Я не буду вдаваться в теорию, типа как "положено так-то и так-то".
По моему мнению, геттеры-сеттеры полезны в тех случаях, когда одновременно с изменением свойства надо выполнить действие.
Допустим, выставили свойство, после изменения которого надо сделать повторный коннект (к БД, к порту...). Без сеттера нужно будет помнить, что сначала выставляешь свойство, затем вызываешь функцию. А с сеттером это не нужно, т.к. ты заложишь это внутри сеттера.
Что касается геттера. Допустим, получаемая величина зависит от кучи других и может часто меняться. Тогда ты должен или при изменении тех других параметров менять этот параметр (наверняка где-то забудешь это сделать), или просто в геттере вычислить, что происходит в данный момент.

Ну и ясен перец, что если ничего такого не требуется, то они, т.е. сеттеры-геттеры, не нужны.

Короче говоря, надо говорить не про "ООП в кубическом вакууме", а о конкретных ситуациях: вот тут они нужные, а там - не нужны.

Это сообщение отредактировал sergeiss - 25.10.2015 - 12:34


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 2047
Пользователь №: 38654
На форуме: 3 года, 7 месяцев, 14 дней
Карма: 47




Цитата (twin @ 25.10.2015 - 06:05)
Чё это ты позиции сдаешь? Фанат, фанат. Еще какой фанат. Вон даже Yii говнокодингом обозвал за статику

То что я в открытую высказываю свою позицию по качеству кода какого-либо продукта не делает меня фанатом какой-либо технологии.

Цитата (twin @ 25.10.2015 - 06:05)
В 99% случаев это делается для однообразия кода. Чтобы снаружи было "красиво". По сути разницы практически нет. Вот и до chee стало доходить, что безмерный фанатизм на пользу не идет.

Дело в том, что я всегда недолюбливал сеттеры и геттеры, НО все таки они нужны в некоторых частях системы, например в вендорных библиотеках. И да, у меня всего лишь появилась идея избавиться от сеттеров/геттеров, возможно она ошибочна, потому я хочу узнать о опыте других программистов.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог | SetCMS
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (5) [1] 2 3 ... Последняя » Ответ в темуСоздание новой темыСоздание опроса