
Roman
26.08.2017
18:23:17
Я лет 10 был PM-ом

Nikolay
26.08.2017
18:23:36
херня, как тут текст перечеркнуть ><

Roman
26.08.2017
18:23:38
И вот всё бросил к чёрту и пошёл кодить

Google

Nikolay
26.08.2017
18:23:54
обычно наоборот делают)

Roman
26.08.2017
18:24:25
Да, я в курсе. Но настолько заебало, что словами не передать.
Ну и с тех пор в офисе и не работал
Удалённо только. Редкие наезды не в счёт:)
Кстати в руби тоже можно добавить pattern matching, immutability и всё вот это наше

عاصم بن حارث
26.08.2017
18:29:10
что-то рубня, последнее время стало именем нарицательным... Столько хайпа разведено. пыхыпы === рубня, не иначе (((

Roman
26.08.2017
18:30:25

Nikolay
26.08.2017
18:31:49

Roman
26.08.2017
18:32:39

عاصم بن حارث
26.08.2017
18:32:46

Nikolay
26.08.2017
18:33:12
Бери технологии где есть паттерн метчинг ;)

Roman
26.08.2017
18:33:32
Вот он, есть в руби.
Эликсир о отчается не тем, что там есть паттерн матчинг

Google

Roman
26.08.2017
18:34:36
Он позволяет софт реалтайм. Чего руби никогда не сможет

عاصم بن حارث
26.08.2017
18:34:43
каждому паттерн матчингу свой язык, свое место. Руби, субъективно, не та ниша.

Roman
26.08.2017
18:35:04
Что значит не та ниша?

عاصم بن حارث
26.08.2017
18:35:44
Почему?
Концептуально, руби не заточен.

Roman
26.08.2017
18:36:28
Да, наверное. Но работает, отлично работает.

عاصم بن حارث
26.08.2017
18:36:57
Что значит не та ниша?
Модель программирования руби не предполагает ПМ. И если возникают такие задачи, что рубистам приходится вводить ПМ, то задача изначально реализовывается неверно.

Roman
26.08.2017
18:37:09
Не верно.
Ты путаешь тёплое с мягким
Задача, это требования бизнеса
Ему вообще срать как ты это делаешь

عاصم بن حارث
26.08.2017
18:38:58
Задача, это требования бизнеса
Язык выбирают под задачу, а не наоборот. В данном случае выразительных средств языка руби не хватило и стали костылить чтобы сохранить язык в задаче (руби)! Это в кратце...

Roman
26.08.2017
18:40:15

عاصم بن حارث
26.08.2017
18:40:50

Roman
26.08.2017
18:41:24
Так можно сказать про что угодно. Средств языка не хватило для http запросов, поэтому сделали костыль faraday
Или httparty

عاصم بن حارث
26.08.2017
18:41:38
Ну, так и есть )))

Roman
26.08.2017
18:41:52

Nikolay
26.08.2017
18:41:55
И как в итоге реализуется в руби паттерн матчинг?

Google

Roman
26.08.2017
18:42:23
Примерно как в ляксире
Только объявление метода немного меняется.

عاصم بن حارث
26.08.2017
18:42:57

Roman
26.08.2017
18:43:02
Это просто синтаксический сахар, не более

عاصم بن حارث
26.08.2017
18:43:48

Roman
26.08.2017
18:44:39
Мы же юзаем |> в ляксире
Хотя и без него можно. Эрланг живёт как-то без пайпа почти 30 лет и норм.
И ни у кого не вызывает отторжения, дескать: «Костыли! Нарукожопили!»
Ровно также и с руби

Alexander
26.08.2017
18:47:36

عاصم بن حارث
26.08.2017
18:47:37

Roman
26.08.2017
18:47:38
Ну добавили инструмент, им удобно пользоваться. Он стабильно и предсказуемо работает. Время реализации задачи уменьшает. Чего надо-то? Заказчики довольны — сделали быстрее. Ты доволен — не надо городить лапшу из if/else

Nikolay
26.08.2017
18:48:46
Так какой инструмент добавили-то?:)

anton
26.08.2017
18:48:58

Nikolay
26.08.2017
18:49:06
Show me your gem

Roman
26.08.2017
18:49:30
https://github.com/k-tsj/pattern-match
Я как-то так юзаю:

Nikolay
26.08.2017
18:52:16
224 звезды

Google

Roman
26.08.2017
18:52:27
defn(:initialize, String) do |token|
#do some stuff
end
Что за js замашки :)

Nikolay
26.08.2017
18:52:57
?

Roman
26.08.2017
18:53:22
Просто таких упоротых как я маловато :)
У меня совсем мало опыта в этом деле

Admin
ERROR: S client not available

Александр
26.08.2017
18:57:28

Roman
26.08.2017
18:57:48
Я согласен, не самый лучший вариант.
Я же не заставляю никого это использовать. Я сказал что он есть.

Alexander
26.08.2017
19:06:19
Ребза, а кто эликсир-проекты в ci собирает, сколько времени сборка занимает ? цикл стили/тесты/релиз

Fey
26.08.2017
20:49:30
4 минуты с кэшем, 15 без
только хз о чём эти цифры могут говорить вне контекста проекта

Alexander
27.08.2017
02:28:33

Roman
27.08.2017
02:29:20
Вот так, как там пишут, делать, наверное, не стоит.

Остап
27.08.2017
06:24:35
Доброе утро!

Alexander
27.08.2017
06:34:28
Вечер уже

Google

Остап
27.08.2017
07:01:36
o_0

Vasiliy
27.08.2017
08:59:42
а кто пользуется stubr? он выглядит по-функциональнее, чем mock, но я смотрю он менее популярен почему-то

maier
27.08.2017
09:49:55
https://gist.github.com/maierru/1924545dfa77059262405e0f169a59e3

Artem
27.08.2017
10:01:58

maier
27.08.2017
10:43:45

Alexander
27.08.2017
14:15:59
Я кажется exmock пользую
Чтобы лесенки не писать

Vasiliy
27.08.2017
14:18:06
exmock называется? я нашел только https://hex.pm/packages/ex_mock, но это что-то не то по-моему
странно, что нельзя мокнуть одну ф-цию и не трогать остальныe – https://github.com/jjh42/mock весь модуль мокает вроде как

Max
28.08.2017
13:11:24
чем можно такую ебалу заменить?
|> fn(nil) -> nil; (v) -> v.code end.()
проверить, если значение nil, то вернуть nil; если не nil, то вернуть поле code из него

Alexey
28.08.2017
13:24:55
по разному можно заменить
а что интересует? Чем не нравится пример?

Max
28.08.2017
13:28:19
длинно как-то
что-нибудь типа my_rec.?code было бы лучше

Sergey
28.08.2017
13:44:11

Max
28.08.2017
13:44:38
oče složno
сделал через case ... do nil -> nil; ... end
криво