@oop_ru

Страница 722 из 785
Sergey
26.08.2018
09:18:28
Та 100% Егор новую замануху готовит... Есть такое понятие как naming convention и оно сильней всех теоретических мозгоклюйств и убежденностей в том что метод назван не верно. 95% называет подобный метод getContent... Достаточно полазить по репам гитхаба с часик.
"если вы хотите получить доступ к полям объекта на чтение, сделайте метод который начинается с get" - поверю в такой конвеншен если только рядом не будет "если вы хотите получить доступ на запись к полям объекта сделайте метод начинающийся с set"

а вот большинство обычно неправы потому что мнение большиинства больше основано на необоснованных привычках (в твоем конвеншене может быть getSomething просто потому что тот кто писал конкеншен раньше видел код где было getSomething)

Google
Aleh
26.08.2018
09:20:00
Хайп мб и есть, но названия важны все равно

Sergey
26.08.2018
09:20:30
Есть есть только с примесью фетиша.
в каких ситуациях ты пишешь getSomething? в контекнте чего? как используются значения которые возвращают эти методы?

можно ли найти что-то типа if('active' == obj.getStatus())?

Sergey
26.08.2018
09:22:09
Aleh
26.08.2018
09:22:14
Мы маленькая тусовка по интересам, конкурировать с сектами, ты чее

Sergey
26.08.2018
09:22:32
ну и он инвестирует в это сильно больше времени чем мы)) p.s. Я не согласен с большей частью того о чем говорит Егор но по своим причинам, но я считаю что бесполезные префиксы ненужны

Aleh
26.08.2018
09:23:51
Ага, информационный эксперт ?

Alex
26.08.2018
09:23:51
можно ли найти что-то типа if('active' == obj.getStatus())?
Сергей я не притендую на истинность в последней инстанции и даже больше, частенько читаю его творения, но со времён elegant objects нахожу в его идеях все меньше здравого смысла

Aleh
26.08.2018
09:24:22
Аккуратно уходим от ответа на вопрос...

Sergey
26.08.2018
09:24:37
Сергей я не притендую на истинность в последней инстанции и даже больше, частенько читаю его творения, но со времён elegant objects нахожу в его идеях все меньше здравого смысла
еще раз - ответь на вопрос плиз. Есть ли у тебя в код конвеншене правила которые бы подсказывали что пример выше может свидетельствовать о нарушении инкапсуляции?

я к тому что твой аргумент - "пишем get и IDE подсказывает к чему у нас есть доступ"

Артур Евгеньевич
26.08.2018
09:25:09
Блин но если писать obj.status() то выглядит херово это же метод все таки

Google
Sergey
26.08.2018
09:25:27
Артур Евгеньевич
26.08.2018
09:25:35
Вот в шарпе эту проблему можно решить с помошью свойств

Alex
26.08.2018
09:25:44
Аккуратно уходим от ответа на вопрос...
Да тема с сеттерами геттерами тут обсуждалась тысячи раз я не про нее.

Alex
26.08.2018
09:26:12
Я про то что код должен быть консистентным и понятным с остальным коммьюнити

Sergey
26.08.2018
09:26:22
и почему get делает код понятнее?

за счет чего?

а для этого надо разобраться как эти геттеры юзаются

Alex
26.08.2018
09:26:54
Конкретный проект вероятно но только если это не симфони

Sergey
26.08.2018
09:27:17
Aleh
26.08.2018
09:27:20
Не умею хранить секреты

Sergey
26.08.2018
09:27:58
Конкретный проект вероятно но только если это не симфони
и нет, в симфони нет никаких бэст практисов которые бы говорили что надо юзать геттеры. Даже наоборот - бэст практис по доктрине (а геттеры и сеттеры в симфони в основном там) наоборот тебе говорит НЕ юзать get в именах

Alex
26.08.2018
09:28:04
Если симфони то по мне это все таки комьюнити. Т.к. других программистов в проект ищут по этому тегу

Артур Евгеньевич
26.08.2018
09:28:05
Смысл в том, чтобы писать isActive ))
А если статусов 50, ты на каждый будешь писать is?

Sergey
26.08.2018
09:28:26
А если статусов 50, ты на каждый будешь писать is?
it depends) если статусов 50 то я бы пересмотрел то как ты вообще с ними работает

Aleh
26.08.2018
09:28:36
А если статусов 50, ты на каждый будешь писать is?
А тебе точно во вне нужны все статусы?)

А может статус тогда неправильная абстракция?

Sergey
26.08.2018
09:29:36
А если статусов 50, ты на каждый будешь писать is?
подходы типа getSomething и т.д. хороши тем, что ты не запариваешься о том что ты делаешь. Хуйнул геттер, достал где надо, где надо что-то сделал.... А проблемы со связанностью не твои проблемы ибо ты увольшься как только тебе будет удобно

Google
Артур Евгеньевич
26.08.2018
09:29:56
Может и неправильная)

Aleh
26.08.2018
09:30:29
А если статусов 50, ты на каждый будешь писать is?
Если их 50, то как ты их контролируешь? Влияют ли они на публичный интерфейс твоего объекта?

Sergey
26.08.2018
09:31:03
это ж типичная практика - говнокодишь годик на проекте а потом бежишь говнокодить другой проект, а расхлебывать будут джуны которых наймут на суппорт, а джуны насмотрятся и не поймут почему болит, но геттеры будут продолжать юзать

Alex
26.08.2018
09:31:41
Если сенсио или ещё лучше пхп фиг начнет двигать всех к другому конвеншену то все батлы на эту тему стихнут я считаю. Пока я вижу что там грекас вроде как пытается что то... А так все пока консервативненько...

Aleh
26.08.2018
09:32:11
Если их 50, то как ты их контролируешь? Влияют ли они на публичный интерфейс твоего объекта?
А связи между ними и переходы ты как организуешь? А они добавляются и затрагивают работу всех остальных статусов или можно локализировать изменение?

Sergey
26.08.2018
09:32:11
Я изначально защищал get Content против content... Если бы там был вариант render() например то я выбрал бы его
> How would you name a method of a class Document that reads and returns its content? из предложенных вариантов либо readContent либо content (ибо read ненужная деталь)

Артур Евгеньевич
26.08.2018
09:32:20
Если их 50, то как ты их контролируешь? Влияют ли они на публичный интерфейс твоего объекта?
50 я взял с потолка... Например юзер соцсети, может быть Лид, зарег, бан перманентный бан, удалённый, де активированный, ограниченный и т. Д

Sergey
26.08.2018
09:33:07
Если сенсио или ещё лучше пхп фиг начнет двигать всех к другому конвеншену то все батлы на эту тему стихнут я считаю. Пока я вижу что там грекас вроде как пытается что то... А так все пока консервативненько...
ни у сенсио ни у фиг нет никаких конвеншенов по геттерам и сеттерам. Либо дай ссылку почитать. Дальше все на основе того что люди насмотрелись из документации (где все делается максимально просто и без погружениия в логику, ибо там не про проектирование а как юзать)

Артур Евгеньевич
26.08.2018
09:33:20
> How would you name a method of a class Document that reads and returns its content? из предложенных вариантов либо readContent либо content (ибо read ненужная деталь)
Read вообще тут не к месту имхо... Откуда считать его? Я read ассоциируюсь с чтение извне

Aleh
26.08.2018
09:33:22
А связи между ними и переходы ты как организуешь? А они добавляются и затрагивают работу всех остальных статусов или можно локализировать изменение?
Я к тому, что избегать эти вопросы используя геттер и размазывая статусы по всей кодбазе не выход, а ошибка у которой высокая цена

Sergey
26.08.2018
09:33:26
и у комьюнити нет никаких общих конвеншенов этом плане - все это просто привычки необоснованные

Sergey
26.08.2018
09:33:46
Read вообще тут не к месту имхо... Откуда считать его? Я read ассоциируюсь с чтение извне
в целом тебе должно быть плевать извне оно читает или нет

потому content

Alex
26.08.2018
09:36:12
подходы типа getSomething и т.д. хороши тем, что ты не запариваешься о том что ты делаешь. Хуйнул геттер, достал где надо, где надо что-то сделал.... А проблемы со связанностью не твои проблемы ибо ты увольшься как только тебе будет удобно
Хуйнул геттеров и не напрягаешься... Чтож тут плохого в том что не напрягаешься.... Вот когда ты торкаешься 30сек задумываясь что та у тебя readContent или viewContent или ещё чего круче в случае если у тебя другое свойство

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

Sergey
26.08.2018
09:38:40
Хуйнул геттеров и не напрягаешься... Чтож тут плохого в том что не напрягаешься.... Вот когда ты торкаешься 30сек задумываясь что та у тебя readContent или viewContent или ещё чего круче в случае если у тебя другое свойство
Видишь ли ты связь между доступом к стэйту объектов и связанностью? бывали ли у тебя проекты где уровень связанности из-за этих геттеров настолько высокий (вот там выше пример с 50-ю статусами)) что новые фичи пилить уже больно и звучит в голове фраза "это проще переписать"?

Если у всего коммьюнити привычка то это конвеншн т.к. привычка это устой и не обязательно обоснованный логически
чувак придет ко мне на проект и его заставят делать по другому) благо сегодня это довольно просто зафорсить на уровне статического анализа)

Alex
26.08.2018
09:40:40
"неписанный кодекс дороги"
Что то вроде. И такое положение дел не так просто сдвинуть с мертвой точки.

Google
Sergey
26.08.2018
09:41:03
Что то вроде. И такое положение дел не так просто сдвинуть с мертвой точки.
если что-то вроде то "Вот граница и я через нее не переступлю".

p.s. если что это отсылка к Карлину и Джею и молчеливому бобу

Admin
ERROR: S client not available

Sergey
26.08.2018
09:41:45
Он прожект бэйсис вообще без базара. Ты начальник - я дурак ???
короч мое мнение - привычки опасны. Очень.

те которые формируются на основе "100 раз так видел" а не "привык так делать потому что то-то то-то"

Alex
26.08.2018
09:42:36
короч мое мнение - привычки опасны. Очень.
Когда тебя заказала конкурирующая фирма и наемник знает что ты выходишь на перекур в 23:00

Sergey
26.08.2018
09:43:08
Думать над решениями? У нас так не принято
тут хуже - тут над проблемой надо думать)

ибо такие привычки обычно готовые решения а вот какие проблемы оно решает никто не знает

Aleh
26.08.2018
09:44:26
тут хуже - тут над проблемой надо думать)
Тут уже спор с какой стороны подходить, вредные привычки

Alex
26.08.2018
09:44:26
ибо такие привычки обычно готовые решения а вот какие проблемы оно решает никто не знает
Как пример решает нэйминг проблемы для неносителей английского языка

Artem
26.08.2018
09:45:27
вообще очень сложно бороться с вот этим вот "да я вчера так делал, хуйну так же", надо много думать (сложна!) и контролировать себя =\

Sergey
26.08.2018
09:46:17
а с учетом того что основная цель процесса "думать" в том что бы перестать...

Alex
26.08.2018
09:47:21
Вообще я думаю что языковой барьер сыграл решающую роль в этих гет сет ис. Ну и джава комьюнити благодарчик

Sergey
26.08.2018
09:49:06
Artem
26.08.2018
09:49:11
хз, нежелание людей думать (хотя я и не осуждаю) сыграло тут решающую роль

Sergey
26.08.2018
09:49:26
сначала были геттеры а потом уже индусы

Google
Alex
26.08.2018
09:49:30
Я не помню что было до... Но уже в документации пхп4 не было пожалуй ни одного примера без гет сет... В жава это прям как доброе утро...

Sergey
26.08.2018
09:52:44
потому что человек кроме пыхи и джавы других языко не знает

Alex
26.08.2018
09:53:35
Когда народ с 3го пхп в 4й переходил все матюкались что за херня зачем нам объекты что с ними делать и как... Потом им предъявили требования мол ооп новледгь из а маст ??? и они стали мучить код и себя геттерами сеттерами... О иссерах узнали из жобит жоб ??

Alex
26.08.2018
09:54:39
потому что человек кроме пыхи и джавы других языко не знает
От чего же? Знает. Я уже об этом в другой группе писал тебе

Sergey
26.08.2018
09:55:05
От чего же? Знает. Я уже об этом в другой группе писал тебе
ну пока все твои аргументы выглядят смешно)

Alex
26.08.2018
09:55:14
Sergey
26.08.2018
09:56:00
Но пхп о нем не знало
если что еще на тот момент создатель PHP активно топил что "бля ребят это ШАБЛОНИЗАТОР! Шаблонизатор!!11" Если что он окончательно разачаровался в людях только когда Smarty появились

Alex
26.08.2018
09:56:11
шел 2000-ый год, ООП существовало уже 30 лет
Ты скажи что не помнишь от чего такие шуточки ходили про пхпистов и кто в основном писал на пхп до 2005-7х

Sergey
26.08.2018
09:56:31

Страница 722 из 785