@oop_ru

Страница 108 из 785
Sergey
14.02.2017
12:12:04
Sergey
14.02.2017
12:12:34
> пытались воспроизвести на жсе ООП В голос
забыли поделки из прототипов которые лепили в es5?

Google
Sergey
14.02.2017
12:13:15
ну ок. его все браузеры поддерживают?
собсно поддержка браузерами это глобальная болезнь)

Sergey
14.02.2017
12:13:43
ну да, работает оно не так как у других, но тем не менее)
и все же это костыли. потому что жс прототипно-ориентированный как был так и остался

Paul
14.02.2017
12:13:56
в жсе есть интерфейсы?
Если ты про жавовые, то нет. И причем тут жс к трюизму о ненужности наследования данных?

Sergey
14.02.2017
12:13:57
в жсе есть интерфейсы?
ток если в тайпскрипте и то по сути сахар тот же

Sergey
14.02.2017
12:14:25
собсно поддержка браузерами это глобальная болезнь)
ну вот пока не будут все поддерживать, и то что они "уже есть" не стоит говорить...

Sergey
14.02.2017
12:15:09
Paul
14.02.2017
12:15:22
А babel на что?

Sergey
14.02.2017
12:15:29
Если ты про жавовые, то нет. И причем тут жс к трюизму о ненужности наследования данных?
интерфейсы это как бы единица абстракции.. без них далеко не уедешь в ООП

Sergey
14.02.2017
12:15:38
А babel на что?
babel браузер не вылечит))

Sergey
14.02.2017
12:15:41
А babel на что?
а как тебе бабел сделает tailrec? развернет сам рекурсию?)

Aleh
14.02.2017
12:15:54
собсно поддержка браузерами это глобальная болезнь)
Там ж вроде как есть серьезные проблемы в хроме и фф, их реализация не далв никакого буста и даже регрессии были

Paul
14.02.2017
12:16:08
интерфейсы это как бы единица абстракции.. без них далеко не уедешь в ООП
Интерфейс как набор сигнатур, а не какая то там конструкция в твоем языке

Юра В
14.02.2017
12:16:55
интерфейс как протокол

Google
Paul
14.02.2017
12:17:00
а как тебе бабел сделает tailrec? развернет сам рекурсию?)
Во-первых, проблем с этим нет, это тривиально. Но я не к хвостовой вел

Sergey
14.02.2017
12:17:04
Там ж вроде как есть серьезные проблемы в хроме и фф, их реализация не далв никакого буста и даже регрессии были
не видел инфы, вошло ли это дело в стандарт прям. если да, то допилят, куда они денутся

если нет то бобо

Aleh
14.02.2017
12:17:35
Вошло в es2015, но вроде были разговоры, чтобы выпилить

Я особо не помню

Sergey
14.02.2017
12:18:30
ну в общем то это конечно полезное новвовведение, но главное что не ломающее совместимость

что обычно самое больное

Aleh
14.02.2017
12:18:59
В es не ломают совместимость от слова совсем)

Если че

Sergey
14.02.2017
12:19:39
в общем без этого рыдать не будет никто сильно)

Paul
15.02.2017
05:43:01
В es не ломают совместимость от слова совсем)
Это не совсем правда. Как минимум Strict мод и измененная семантика new из-за классов в es6. А еще запрет на переприсваивание undefined в es5

Paul
15.02.2017
13:29:03
Как strict ломает старый код?
this == undefined вместо глобального объекта. В итоге нельзя strict-ить всякие moment.js, которые расчитывают на это

Ещё что this может быть примитивом тоже что-то поломать может теоретически (проверки на this)

Paul
15.02.2017
13:34:27
Strict в es5 это подмножество, которое надо включать
Это ты америку так открыл или что?

Aleh
15.02.2017
13:34:49
Это ты америку так открыл или что?
Стрикт ничего не ломает в старом коде, потому что он там не использовался

Ну разве что кто-то случайно написал "use strict" вначале когда-то

Paul
15.02.2017
13:35:21
Ну, возможно не совсем верно называть это ломанием, я не спорю.

Google
Aleh
15.02.2017
13:36:07
угу.
Ну формально да, ломание)

Paul
15.02.2017
13:36:44
Ломание, если у кого-то в коде уже было просто так написано "use strict" наверху xd

Но вообще код по-разному отработает на ES6-движке и на ES5-движке.

Aleh
15.02.2017
13:37:10
Ага, очень мало вероятный кейс конечно)

Dov
15.02.2017
16:53:29
че пачаны кто на чем пилет?

о чем у вас тут вообще дискуссии?

Vitaly
15.02.2017
17:12:16
коротко: ругают ООП и боготворят ФП.

иногда наоборот, но это редко

Aleh
15.02.2017
17:22:17
коротко: ругают ООП и боготворят ФП.
А еще говорят, что это одно и тоже или что нужно их вместе юзать, тут как повезёт)

da horsie
16.02.2017
03:21:21
http://blog.cleancoder.com/uncle-bob/2014/11/24/FPvsOO.html

?
16.02.2017
10:41:41
http://blog.cleancoder.com/uncle-bob/images/fpvsoo.jpg ))

Admin
ERROR: S client not available

Aleh
16.02.2017
10:46:41
слева должно быть objects

@fes0r по поводу видоса integrational tests are scum я тут все думаю над проблемой: если мы меняем интерфейс контракт где-то внутри приложения, то тяжело понять или даже просто найти все места, где надо внести изменения, тесты ведь останутся все зелеными

Hell
16.02.2017
17:57:00
я сегодня стал свидетелем того, как фирма потеряла неколько миллионов евро из-за того, что метод объекта нарушил принцип SRP (содержал "псевдо-Boolean" параметр)

first
16.02.2017
17:58:27
прикольно

как случилось?

Vitaly
16.02.2017
17:58:59
без подробностей скучно

Sergey
16.02.2017
18:00:13
Как измеряли потери?

Google
Hell
16.02.2017
18:02:40
https://git.io/vDSsa

Вот из-за этотго

этот метод выполняет две СОВЕРШЕННО РАЗНЫЕ ОПЕРАЦИИ

Aleh
16.02.2017
18:04:58
https://github.com/OXIDprojects/oxid-ce-hot-offer/blob/d1cdcd8a063fc1801a53036372aa968c5a081133/core/oxuser.php#L1349 лол

Hell
16.02.2017
18:05:35
но об этом умалчивается в PHPDoc. Тут еще один анти-паттерн - устаревший комментарий, не соответсвующий действительности.

найдите вторую фунцкию без знания фреймворка

Aleh
16.02.2017
18:07:36
по мне так весь класс пример того, как не надо делать

Hell
16.02.2017
18:08:03
This is Enterprise!

Aleh
16.02.2017
18:08:24
https://github.com/OXIDprojects/oxid-ce-hot-offer/blob/d1cdcd8a063fc1801a53036372aa968c5a081133/core/oxuser.php#L784

https://github.com/OXIDprojects/oxid-ce-hot-offer/blob/d1cdcd8a063fc1801a53036372aa968c5a081133/core/oxuser.php#L832

Hell
16.02.2017
18:09:06
так что делает вторая фунцкия метода? И в чем она заключается? И где там тот парамтер - разделитель функцинала?

Hell
16.02.2017
18:10:48
https://git.io/vDSZc

вот он разделитель

Rodion
16.02.2017
18:11:24
https://git.io/vDSZc
такая неявная проверка - всегда факин булщит

необходимо всегда явно проверять значение, заодно и тип его

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