Size: a a a

2020 July 25

АГ

Алексей Гевондян... in PHP
есть rust, haskell... при желании можно наговнокодить везде. в язык закладывается определенная гибкость и удобство, чтобы его можно было использовать на практике, поэтому и возможность наговнокодить автоматически появляется.
источник

A

Aleksandr Khristenko in PHP
Алексей Гевондян
2 метода - 2 ответственности, 2 причины для изменения, нарушение SRP
Вот вообще не факт. Они могут делать разные вещи, но причина для изменения у них может быть одна.
источник

АГ

Алексей Гевондян... in PHP
это шутка была
источник

ЕР

Евгений Ромашкан... in PHP
Sergey
я тогда у тебя спрошу нивелирует ли это ООП как парадигму) слишком смешиваешь понятия, и выглядит это не как ирония, а как некомпетентность
А ООП как парадигма существует?
источник

A

Aleksandr Khristenko in PHP
Алексей Гевондян
есть rust, haskell... при желании можно наговнокодить везде. в язык закладывается определенная гибкость и удобство, чтобы его можно было использовать на практике, поэтому и возможность наговнокодить автоматически появляется.
rust: тыкаем везде .unwrap(), .clone() - говнокод готов.
haskell: пишем мутабельно/императивно все внутри IO монады - говнокод готов.
источник

АГ

Алексей Гевондян... in PHP
может быть вы можете привести пример языка, на котором нельзя наговнокодить? у меня таких познаний нет.
источник

SM

Sergey Milimko in PHP
Евгений Ромашкан
А ООП как парадигма существует?
Да. Причем в куче вариантов. В ООП может не быть наследования, инкапсуляции и полиморфизма.
источник

ЕР

Евгений Ромашкан... in PHP
Sergey Milimko
Да. Причем в куче вариантов. В ООП может не быть наследования, инкапсуляции и полиморфизма.
А в чем отличие от процедурной?
источник

SM

Sergey Milimko in PHP
Хотя не. Инкапсуляция должна быть
источник

A

Aleksandr Khristenko in PHP
Алексей Гевондян
может быть вы можете привести пример языка, на котором нельзя наговнокодить? у меня таких познаний нет.
Так у меня тоже нет. Просто вы там сказали, что "php не задумывался как язык, на котором нельзя говнокодить" так, как будто есть языки, которые задумывались. Я спросил.
источник

А

Артём in PHP
Алексей Гевондян
php не задумывался как язык, на котором нельзя наговнокодить) поэтому и появились всякие SOLID, GRASP, PSR и прочее) а так на php можно даже битрикс сделать) что и сделали)
SOLID и GRASP появились как ответ на говнокод в РНР, я правильно понял?
источник

A

Aleksandr Khristenko in PHP
Артём
SOLID и GRASP появились как ответ на говнокод в РНР, я правильно понял?
Нет.
источник

SM

Sergey Milimko in PHP
Евгений Ромашкан
А в чем отличие от процедурной?
В том что есть инкапсуляция и объекты чем бы они там не являлись
источник

А

Артём in PHP
Это ты так считаешь, а мне интересно, что автор утверждения скажет
источник

АГ

Алексей Гевондян... in PHP
Артём
SOLID и GRASP появились как ответ на говнокод в РНР, я правильно понял?
не я придумывал, поэтому не могу ответить на этот вопрос. думаю нет, потому что эти принципы не исключают говнокод как таковой. + само понятие говнокод очень субъективно. так же как и понятие "глупое сообщение".
источник

S

Sergey in PHP
Sergey Milimko
В том что есть инкапсуляция и объекты чем бы они там не являлись
важность полиморфизма недооценена
источник

А

Артём in PHP
Алексей Гевондян
не я придумывал, поэтому не могу ответить на этот вопрос. думаю нет, потому что эти принципы не исключают говнокод как таковой. + само понятие говнокод очень субъективно. так же как и понятие "глупое сообщение".
Ну ты же сказал «РНР не задумывался как язык, на котором нельзя наговнокодить) поэтому и появились всякие SOLID, GRASP». ПОЭТОМУ.
источник

АГ

Алексей Гевондян... in PHP
понял, спасибо
источник

S

Sergey in PHP
без полиморфизма нельзя сделать dependency inversion
источник

А

Артём in PHP
Т.е. люди начали говнокодить на РНР и мудрые гуру придумали SOLID с GRASP'ом для нивелирования говнокода
источник