[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Холивар от сеттеров/геттеров
Страницы: 1, 2, 3, 4
twin
Цитата (AllesKlar @ 20.11.2015 - 17:24)
А зачем интерфейсы нужны? И так же ясно, что делать нужно.

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

Цитата (AllesKlar @ 20.11.2015 - 17:24)
Скажи мне, а зачем ВООБЩЕ нужны protected и private ???
Ведь, если руки прямые, можно прекрасно все пабликом закодить.
Тоже никогда не понимал. Когда var просто было, никто особо не плакал, что кривожопы напортачили.

Если реально бояться кривожопости, то конечно. Этого мало еще. И инкапсуляции побольше и сеттеров, и вообще:



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

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

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

user posted image
twin
Не, вот реально. Чем защищает от криворукости уровень доступа? Ну объявил ты свойство приватным, и чо? Кто мне помешает изменить этот уровень? Да и менять не надо. Или ты не знаешь, как достать и изменить приватное свойство?

Всё это придумано для лохов. Детский сад и сбоку бантик. Когда речь идет о серьёзных проектах, можно засунуть в задницу все эти детские игрушки с инкапсуляцией, сеттерами и уровнями доступов. Нужно либо профсостав менять, либо признаться, что проект - детская игрушка, не более того.

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

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

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

user posted image
AllesKlar
Цитата (twin @ 20.11.2015 - 19:41)
Цитата (AllesKlar @ 20.11.2015 - 17:24)
А зачем интерфейсы нужны? И так же ясно, что делать нужно.

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

Цитата (AllesKlar @ 20.11.2015 - 17:24)
Скажи мне, а зачем ВООБЩЕ нужны protected и private ???
Ведь, если руки прямые, можно прекрасно все пабликом закодить.
Тоже никогда не понимал. Когда var просто было, никто особо не плакал, что кривожопы напортачили.

Если реально бояться кривожопости, то конечно. Этого мало еще. И инкапсуляции побольше и сеттеров, и вообще:

мдя.... ладно... Хорошо что ты не мой подчиненный. И еще лучше, что я не твой...

Интерфейс нужен вот для чего
Сижу я, ты, Олег и Мария Викторовна.
Мы вместе пишем проект.

Мне нужно начинать, но я не могу, потому что мне нужны выходные данные скрипта Марии Викторовны, а я без понятия, что она оттуда выплюнет.
А она не может начать, потому что использует значение твоей функции. Но ты еще не определился, будет ли там массив возвращаться или переменная по ссылке передаваться.
А Олег заболел еще на прошлой неделе, а он должен был для всех нас писать библиотеку с короткими процедурами, и мы без понятия, какие данные он ожидает как входные и какими порадует нас выходящими данными.
А выздоровит он только через 2 недели, а то может и вообще умрет, сильно заболел.

Че делать-та????


_____________
[продано копирайтерам]
Razzwan
С интересом прочитал всю беседу. Сделал несколько выводов:

1. getters и setters нужны повсеместно, если мы хотим как можно меньше платить программисту. Т.е. они нужны все тем же менеджерам (и говноменеджерам).

2. getters и setters нужны повсеместно, если мы хотим подключить к разработке как можно больше людей. Например, если проект является социальным, и нам нужно обеспечить работой огромное количество не очень умных личностей. Это мне кажется очень важным моментом. Т.к. человек среднего интеллекта и ниже (а таких людей больше половины) будет лучше управляться с геттерами и сеттерами.

3. getters и setters можно использовать выборочно, если приложение разрабатывают исключительно высококвалифицированные профессионалы.

4. getters и setters можно использовать в крайних случаях, если приложение крайне чувствительно к нагрузкам.

Вывод: т.к. 3-ий и 4-ый случаи являются идеально гладким цилиндрическим конем в абсолютном вакууме, то, на практике, разумнее геттеры и сеттеры использовать всегда. Просто потому, что глупых людей больше, а технологии развиваются стремительно. Ведь мы же не хотим, чтобы все приложения в мире писал один сверхкомпьютер (или сверхчеловек). Или хотим?

_____________
Youtube канал WebDeveloper->Run()
Сайт для души
Gitter
Bolik
Сдается мне, что в команде тут работают единицы smile.gif рукожопы, лентяи и посредственности тоже нужны. Они как правило выполняют рутинную работу с года в год. Это та работа, от которой 90% форумчан с ума бы сошли.

Если что-то в языке будет ненужным, оно умрет естественным путем. Пока вы пишите код для себя, то делайте это да хоть снизу вверх и срава налево, никто и слова не скажет.
twin
Цитата (AllesKlar @ 20.11.2015 - 19:17)
Че делать-та????

И чё делать? ohmy.gif blink.gif huh.gif Чем в таком случае интерфейс поможет? biggrin.gif
Не, не так вопрос я поставил. Чем в таком случае интерфейс отличается от обычной документации?

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

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

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

user posted image
twin
Цитата (Razzwan @ 20.11.2015 - 22:03)
Просто потому, что глупых людей больше, а технологии развиваются стремительно. Ведь мы же не хотим, чтобы все приложения в мире писал один сверхкомпьютер (или сверхчеловек). Или хотим?

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

Да и работать гораздо приятнее с профессионалами, а не с Мариями Викторовнами, которые не могут шагу шагнуть без сеттера и интерфейса. Которым обычной документации недостаточно.

Ты правильныйе выводы сделал. Сеттеры/геттеры, уровни доступа, а так же и интерфейсы - просто защита программы от дурака. Не более того. От абстрактного класса есть польза, если он используется именно как абстрактный класс. А интерфейс - на корове седло.

А от дураков нужно защищаться совсем не такими методами. Они наоборот - только плодят их, как тараканов.

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

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

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

user posted image
twin
Цитата (Bolik @ 20.11.2015 - 23:05)
рукожопы, лентяи и посредственности тоже нужны. Они как правило выполняют рутинную работу с года в год. Это та работа, от которой 90% форумчан с ума бы сошли.

Да ладно))) Нука покажи пример рутинной работы. Я такой не знаю. Любой код интересен уже даже тем, что всегда есть возможность его улучшить.

Я сейчас говорю про разработку проектов, а не про штамповку визиток и лендингов на каком-нибудь фреймворке. Там да - рутина. Но там и сеттеры не нужны. Вернее их в фреймворке уже сделали где нужно, чтобы обеспечить посредственностям спокойную и бездумную работу.

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

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

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

user posted image
AllesKlar
Цитата (twin @ 21.11.2015 - 04:35)
Цитата (AllesKlar @ 20.11.2015 - 19:17)
Че делать-та????

И чё делать? ohmy.gif blink.gif huh.gif Чем в таком случае интерфейс поможет? biggrin.gif
Не, не так вопрос я поставил. Чем в таком случае интерфейс отличается от обычной документации?

Тем что интерфейс уже в IDE и я сразу там вижу все свойства и методы.
А документация - это база данных, базирующаяся на почерканых листиках с кружочками от чашек с кофе.

Ладно, я согласен с тем, что тебе не нужны интерфейсы. Так же, как и глупо мусульманину предлагать свинину. Весь мир ест, но им просто религия не разрешает. Не больше, не меньше.

_____________
[продано копирайтерам]
twin
AllesKlar
Тут как раз наоборот про религию) Тут как раз интерфейс и есть коран, который предписывает серверу пять раз в день делать намаз, потому что кто-то боится, что свинина просочится на стол. biggrin.gif

Вопрос в организационных вопросах. Если команда работает так, что без хорового пения "Аллаху акбар" под команду муллы с ближайшего минарета (читай: интерфейса) не может наладить взаимодействия, то да. Обязательно нужен интерфейс. О чем и говорилось.



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

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

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

user posted image
chee
Razzwan, не правильные выводы. Использование сеттеров и геттеров напрямую не связанно с квалификацией. То что "говно" будет инкапсулировано за сеттером или геттером, "вонять" от этого оно не перестанет.

AllesKlar, вы серьезно храните уже переведенные строки в сущностях? Этот объект CURRENCY это модель или хелпер?

twin
, интерфейсы нужны, сделай приложения полностью на DI, как у меня, поймёщь зачем они существуют.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
twin
chee
Любопытно. Ты хочешь сказать, что DI без интерфейсов не будет работать? blink.gif

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

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

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

user posted image
chee
twin, я хочу сказать что именно с использованием DI, наличие интерфейсов обретает смысл. Интерфейсы как не странно это прозвучит декларируют интерфейс, и когда подменяешь зависимость, надо быть уверенным, что интерфейс будет соблюден, в этом интерфейсы помогают. Есть конечно же абстрактные классы, но там проблема в том, что ты можешь расширить только один абстрактный класс, а интерфейсов ты можешь имплементировать несколько.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
twin
Цитата (chee @ 21.11.2015 - 09:43)
надо быть уверенным, что интерфейс будет соблюден, в этом интерфейсы помогают.

Да это понятно, я не о том говорил. А о том, что интефейс не несет никакой полезной миссии для выполняемого кода. Это по факту та же самая документация, только не рекомендательного, а обязательного действия.

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

Не знаю кому как, но мне противны все те вещи, которые прямо таки и говорят открытым текстом:
Цитата
Я - интерфейс. Я тут для того, чтобы ты не наделал глупостей. Ибо есть смутное сомнение, не дурак ли ты, батенька.


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



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

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

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

user posted image
chee
Цитата (twin @ 21.11.2015 - 13:57)
А о том, что интефейс не несет никакой полезной миссии для выполняемого кода. Это по факту та же самая документация, только не рекомендательного, а обязательного действия.

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

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

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.