@oop_ru

Страница 240 из 785
Mykola
12.06.2017
07:37:55
наоборот надо

dasknix
12.06.2017
07:38:04
зачем второе место? есть же DRY, KISS

dasknix
12.06.2017
07:38:14
writer любого формата - всегда один

Google
dasknix
12.06.2017
07:38:40
надо подправить формат - значит надо подправить в месте, где он определён, а не во writer и reader. они не должны отвечать за структуру формата

Mykola
12.06.2017
07:38:40
давайте на личности не переходить :)

у меня абстрактный говнокод

dasknix
12.06.2017
07:39:06
@F01134H дада, что же вы так, человек отдыхает, он же написал)

Mykola
12.06.2017
07:40:12
ну вот к примеру есть класс, в нем врайтер и ридер, но по сути это однострочные функции на тему "берем байты и засовываем в нужное место"

F01134H
12.06.2017
07:40:21
давайте на личности не переходить :)
да ну я не с упреком это. Просто исхожу из факторов

Mykola
12.06.2017
07:40:26
стоит ли этот класс делить на два?

F01134H
12.06.2017
07:40:34
я не считаю говнокод оскорблением

dasknix
12.06.2017
07:40:38
либо writer и reader - это действительно один класс

и тут мы мыслим в контексте форматов. он отвечает за ОДИН формат, а значит сохраняется SRP

Mykola
12.06.2017
07:41:05
я не считаю говнокод оскорблением
это надо в рамочку и на стену)

dasknix
12.06.2017
07:41:35
а если нужны более низкие уровни (непосредственно файловый указатель, например. точнее дескриптор, как в си, то он уже будет обеспечен другим классом)

а решает задачу "обеспечения формата" один класс

Google
f4rt~
12.06.2017
07:41:53
Фоля, все мы работаем с говнокодом скрытым за Фасадами, Адаптерами, Прокси и тп, благо прелести инкапсуляции помогают иной раз об этом не думать, а open/closed позволяет дополнять этот говнокод функционалом ;D

F01134H
12.06.2017
07:42:15
да уж

но я ищу выход из говнокода в голанге

и его сигнатурах

f4rt~
12.06.2017
07:42:55
с каких пор в голанге стало чище чем где либо?)

F01134H
12.06.2017
07:43:20
Фарт, если тщательно изучишь историю и условия его разработки, поймешь о чем я

Mykola
12.06.2017
07:43:43
ух... вот это я набросил с утра понедельника... сори, немного штормит после вчера)

а кто здесь откуда?

F01134H
12.06.2017
07:43:58
Я не говорю, что там нет говнокода. Там его сложнее писать. И возможно даже можно обойтись совсем без него

Mykola
12.06.2017
07:45:49
мы с Протько вчера говорили об организации какого-то лампового митапчика чтоб это все пообсуждать

f4rt~
12.06.2017
07:46:25
хм, я прогал на голанге, но потом отложил его в далекий ящик, там нет перегрузки методов и функций, нет try/catch и много еще чего, хотя бы ооп в его "стандартном" понимании)

Mykola
12.06.2017
07:47:20
в пхп обязательно говнокодить

f4rt~
12.06.2017
07:47:30
говнокод это компромисс и любой яп позволит тебе идти на компромисы

Mykola
12.06.2017
07:47:30
там говнокод прошит на базовом уровне

f4rt~
12.06.2017
07:47:45
там говнокод прошит на базовом уровне
так можно сказать о любом яп с низким порогом вхождения

Mykola
12.06.2017
07:48:09
я не имею ввиду то, что пхп лёгкий язык и по этому говнокод

F01134H
12.06.2017
07:48:14
надо короче браслет, который бьет током, когда говнокодишь

Google
f4rt~
12.06.2017
07:48:49
Известны 10 преимуществ Паскаля перед Си:) Я приведу только одно, но самое важное. На Си вы можете написать: for(;P("\n").R--;P("\ "))for(e=0x3DC;e--;P("_ "+(*u++/8)%2))P("| "+ (*u/4)%2); На Паскале Вы НЕ МОЖЕТЕ такого написать.

Mykola
12.06.2017
07:48:51
пхп в некоторых местах заставляет тебя писать говнокод

Mykola
12.06.2017
07:49:05
во во

F01134H
12.06.2017
07:49:36
а на пыхе тоже можно)

f4rt~
12.06.2017
07:50:04
да хоть форк бомбу ;D

Mykola
12.06.2017
07:50:35
если вы в курсе, то в пхп например все хттп хедеры помещаются в специальный массивчик, при этом деши и точки заменяются на подчеркивания, а впереди добавляется "HTTP_"

а, ну и в аппер кейс все...

вот как тут обойтись без говнокода?

f4rt~
12.06.2017
07:51:27
ну тут уже серебрянную пулю приводили, идеального яп так же нет) все под свои задачи

так ли плох низкий уровень входа в язык?)

F01134H
12.06.2017
07:52:14
хуево, когда в языке из-за этого пренебрегают фичами

Mykola
12.06.2017
07:52:23
пхп - под задачу обработки хттп запросов придумали как раз, но зачем они так извратили вот эти все хедеры?

Mykola
12.06.2017
07:53:09
зеев сказал, что он в курсе, пишите письма

f4rt~
12.06.2017
07:53:17
?

Mykola
12.06.2017
07:53:33
говорят он зарубил короткие лямбды

я у него спросил, а он говорит "не помню ничо, я зарубил и забыл"

:)

f4rt~
12.06.2017
07:54:04
?

Google
Mykola
12.06.2017
07:56:09
я не считаю говнокод оскорблением (с) но в пхп без него просто никак

ну вот вообще никак)

f4rt~
12.06.2017
07:56:49
я не считаю говнокод оскорблением (с) но в пхп без него просто никак
ну не знаю, не считаю что нет ситуаций, где просто нельзя было бы выполнить кодекс бойскаута от дяди Боба)

Mykola
12.06.2017
07:57:35
ну был там у них rfc по поводу коротких лямбд, и обсуждение

и не приняли)

?
12.06.2017
07:58:15
https://wiki.php.net/rfc/arrow_functions☹️

Mykola
12.06.2017
07:59:53
в пхп жутко не хватает функциональных типов

из-за этого просто не работает лискоу сабститушн

Admin
ERROR: S client not available

f4rt~
12.06.2017
08:00:37
почему же?

Mykola
12.06.2017
08:02:56
ну к примеру: function foo($callback) { return $callback(42); } $bar = function($a, $b) { return $a/ $b; }; foo($bar);

f4rt~
12.06.2017
08:06:36
https://habrahabr.ru/company/zfort/blog/330696/

там кстати есть примеры, которые мы успели поныть уже ;D

dasknix
12.06.2017
08:08:03
т.е. короткие, это которые сразу return?

f4rt~
12.06.2017
08:08:21
https://externals.io/thread/911

Google
Sergey
12.06.2017
08:09:32
ну был там у них rfc по поводу коротких лямбд, и обсуждение
его опять поднял Леви Моррисон и активно обсуждают

Pavel
12.06.2017
08:59:59
вот как тут обойтись без говнокода?
composer require symfony/http-foundation composer require psr7*

Mykola
12.06.2017
09:18:38
симфонишная хттп-фондейшн базируется на пхп, от этого точки всегда будут андерскорами

это днище

:)

Aleh
12.06.2017
09:20:14
Ну и плюс а почему срп касается только классов?
Srp это вообще обрезок, чтобы не объяснять людям про coupling и cohesion. Ну и чтобы было SOLID, а не OLID

Андрэ
12.06.2017
09:22:09
Про множественное наследование, видимо не интерфесы имеются ввиду. Интерфейсы имплментируются же а не наследуются классами

Mykola
12.06.2017
09:22:44
ну я привел пример выше

function foo($callback) { return $callback(42); } $bar = function($a, $b) { return $a/ $b; }; foo($bar);

в пхп это норм)

потому что колбек это всегда колбек

Aleh
12.06.2017
09:24:07
Лол, ну нашел мне язык, да еще и с анонимными функциями

Mykola
12.06.2017
09:24:58
да не, я ничего не говорю... но просто тут люди защищают его, и говорят что для каждой ниши есть свой язык)

а я говорю, что это все не язык совсем

а люди

Aleh
12.06.2017
09:26:08
Ну да, солид это красивый продукт в области обучения

Но я б не сказал, что он совсем бесполезен

Mykola
12.06.2017
09:28:32
он будет полезен с того момента, как мы сможем его применять

Pavel
12.06.2017
09:29:28
В чем проблема его сейчас применять?

Aleh
12.06.2017
09:29:32
Логично, применять его можно при поступлении новых требований

function foo($callback) { return $callback(42); } $bar = function($a, $b) { return $a/ $b; }; foo($bar);
Короч если переписаиь на объекты+интерфейсы и поставить тайпхинты, то будет работать ж

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