@proRuby

Страница 254 из 1594
Alexander
30.10.2016
09:01:39
Alex
30.10.2016
09:01:40
Может они именно с k v игнорят, ок
Они? инструменты? слепое следование правилам хуже их отсутствия.

Не соглашусь
Ну это твое личное имхо

Alexander
30.10.2016
09:02:03
Google
Alexander
30.10.2016
09:02:14
Alex
30.10.2016
09:02:37
Твое имхо базируется на выводе твоего кодстайл инструмента, разве нет?

Alexander
30.10.2016
09:02:50
Эстетика ещё для меня. Как отсутствие скобок. Это просто лучше выглядит

Твое имхо базируется на выводе твоего кодстайл инструмента, разве нет?
Как видишь, ещё немного дальше уходит. Я черпаю, но не слепо следую

Alex
30.10.2016
09:03:29
бесмысленные расшифровки только снижают читабельность

Alexander
30.10.2016
09:04:10
бесмысленные расшифровки только снижают читабельность
Расшифровка — это пояснение, следующее за сокращением, не?

Помнишь упртй стиль? Это короче и понятно. Почему мы не перешли на такое общение?

Alex
30.10.2016
09:06:45
потому что k, v любому нормальному программисту очевидно

если ты k, v разворачиваешь в длинную форму не имея на то особого смысла то ты в типичный шаблон в моей голове не вписываешься, следовательно снижается т.н. читабельность

Alexander
30.10.2016
09:13:20
если ты k, v разворачиваешь в длинную форму не имея на то особого смысла то ты в типичный шаблон в моей голове не вписываешься, следовательно снижается т.н. читабельность
У каждого свои шаблоны. Тем более не вижу проблемы прочитать более полноценные названия переменных, следовательно не вижу снижения читабельности

Alex
30.10.2016
09:13:52
более полноценные названия - key, val, key, value делают однострочник длиннее без всякого на то смысла

Alexander
30.10.2016
09:18:09
более полноценные названия - key, val, key, value делают однострочник длиннее без всякого на то смысла
Для меня +10 к эстетике и +5 к читаемости и очевидности. Давай уже сойдёмся на том, что это субъективно, и закончим это. Я лишь подкинул своё мнение, для разнообразия вариантов, а не хочу разжигать срачи

Alex
30.10.2016
09:18:24
+5 к читаемости там где k, v имеют такую же читаемость?

Google
Alex
30.10.2016
09:18:39
блин серьезно, в чем суть key, value если они не объясняют какие именно ключи/значения лежат?

Alexander
30.10.2016
09:18:49
+5 к читаемости там где k, v имеют такую же читаемость?
Для меня они имеют хуже читаемость

Alex
30.10.2016
09:19:12
вот если я делаю reject{ |domain, _| domain.end_with?(".ru") } это добавляет читабельности

А вот если я делаю key, value это бесмысленно

Alexander
30.10.2016
09:19:24
блин серьезно, в чем суть key, value если они не объясняют какие именно ключи/значения лежат?
Да, кстати, пояснять по возможности — ещё лучше на мой взгляд

Alex
30.10.2016
09:19:33
Потому что это не объясняет что там лежит внутри них

так в чем суть?

Так вот именно в пояснении смысл есть, а вот разворачивать k, v в длинные слова и удлинять однострочник без причины - следование правилам без применения здравого смысла.

Не буду дальше спорить.

Alexander
30.10.2016
09:20:28
так в чем суть?
Сталкивался вроде с кастомными классами, где v не означало value, а интерфейс похож

Alex
30.10.2016
09:20:50
Так это автор того кода не развернул значение которое не являлось общепринятым

Vitaliy
30.10.2016
09:28:47
#работа Ruby on Rails dev, фултайм/парттайм, оплата почасовая - 500 руб./ч (в месяц при фултайме будет выходить 40-80 т.р.) Ищем человека в команду - создаем облачный сервис для поиска частных исполнителей (аналоги - youdo.com, thumbtack.com). Летом 2015 запустили MVP - чисто рельсовое приложение - получили отдачу от первых пользователей, и ушли в оптимизацию. Сейчас у нас сервер с API, iOS-приложение, новый дизайн и верстка. Готово все на 90%. Человека ищем для админки и веб-версии - взять верстку (slim, sass, производный от bootstrap фреймворк + верстка по БЭМ), и сделать традиционное фулстек RoR приложение, rails engine. Я - сооснователь, занимаюсь версткой, над рельсовым приложением будем работать совместно. Пишите в личку.

Dima
30.10.2016
10:54:21
А ключи то у хеша почему-то получаются строки

https://gist.github.com/lbvf50mobile/d4e24c0392d4da528b06493796e26a29#file-select_and_cut_key-rb-L26

Интреесно вообще ключь он по определеню всега символ, или может быть то символом то строкой?

I
30.10.2016
10:55:03
k.to_s сперва делают - а потом жалуются...

ojab
30.10.2016
10:55:09
потому что ты в .map делаешь .to_s

Dima
30.10.2016
10:56:05
Google
Alex
30.10.2016
11:12:05
и вообще.

Dima
30.10.2016
11:18:43
Боролся с простынями, получилась лыжа: https://gist.github.com/lbvf50mobile/b15d8f931f9d5f0eef1a0c0e5b5bad78#file-dry_select_cut_strip-rb-L26

и вообще.
кстати map{&:strip} ругается потому что оно разворачивается в map{|p| p.strip} а p === [k,v]

Alex
30.10.2016
11:21:05
{&:strip}?

hash.select{|k,v| k.to_s.start_with?(prefix)}.inject({}){|x,(k,v)| x[k.to_s.sub(Regexp.new("/{prefix}/"),"").to_sym] = v; x}.map{|k,v| [k,v.strip]}

Ого

перл атакует

более трешовой строчкия еще не видел.

lambda тут зачем?

что если я скажу что однострочники можно разбивать по строкам?

Dima
30.10.2016
11:22:40
я не против, я только за

Dima
30.10.2016
11:22:49
я за красоту DRY и все прочее

Alex
30.10.2016
11:22:51
для начала скажи что здесь происходит

I
30.10.2016
11:23:00
используйте рубокоп

Alex
30.10.2016
11:23:04
с DRY можно об стенку расшибиться если юзать его налево и направо.

Плюшка
30.10.2016
11:23:09
I
30.10.2016
11:23:13
и вообще, в inject можно делать .strip

и тогда одним перебором меньше

Alex
30.10.2016
11:23:33
@lbvf50 скажи что этот кусок кода вообще делает?

Google
Dima
30.10.2016
11:24:13
@lbvf50 скажи что этот кусок кода вообще делает?
этот кусок кода разрезает массив на два подмассива для использования в api

@lbvf50 скажи что этот кусок кода вообще делает?
входной массив имеет ключи с префиксами to и префиксами from

Alex
30.10.2016
11:24:33
Подожди

чего ты хочешь добиться?

I
30.10.2016
11:24:38
кстати, этот select тоже вполне себе можно выполнить в inject

Alex
30.10.2016
11:24:47
вот я увижу у тебя хэшик сверху

что ты хочешь получить из него?

[Anonymous]
30.10.2016
11:25:06
а как красиво сделать
Типичный Ruby-программист.

kolas
30.10.2016
11:25:15
а не проще на вход нормально разделенный хэш давать?

[Anonymous]
30.10.2016
11:25:18
Однажды мне на собеседовании сказали, что я сделал НЕКРАСИВО.

Admin
ERROR: S client not available

Alex
30.10.2016
11:25:19
Типичный Ruby-программист.
ТАКАЯ портянка никуда не годится.

[Anonymous]
30.10.2016
11:25:40
ТАКАЯ портянка никуда не годится.
Ну вообще да, но задача изначально поставлена немного странно.

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

Плюшка
30.10.2016
11:26:15
Regexp.new(...) тут не нужен же , просто .sub(prefix,"")

Alex
30.10.2016
11:26:20
Вообще на собеседовании максимум что могут требовать по красоте это чтобы дефолтный рубокоп проходил например

[Anonymous]
30.10.2016
11:27:02
Ну время прошло и теперь на собеседовании требую я. Правда у нас Ruby очень мало, только в одном месте рельсы.

I
30.10.2016
11:27:10
prefix.to_r

kolas
30.10.2016
11:27:11
почему, что хотят то и требуют, хозяин - барин

Google
Alex
30.10.2016
11:27:25
Во, у тебя с детства привили нелюбовь к руби с этими красивостями

Dima
30.10.2016
11:27:27
Смотрие, речь о рефакторинге данной функции мы о ней говорили дня 2 назад: https://gist.github.com/lbvf50mobile/2fd55a4a331a3ca9015ca95c02fcb91a

и все мы пришли к выводу что так жить нельзя. Начинаем спервых строк формирования двух хешей

строчки 12-20 21-28

Плюшка
30.10.2016
11:28:07
prefix.to_r
тогда и в select надо k.match(...)

Dima
30.10.2016
11:28:41
Есть пример?
вобщем мой пример. и есть

Alex
30.10.2016
11:28:49
Есть пример?
Применр заключается в том что ты делаешь два куска кода одинаковыми, т.е создаешь абстракцию где в дальнейшем эта абстракция не подходит

Плюшка
30.10.2016
11:28:51
хотя...

Alex
30.10.2016
11:28:53
т.е схожий код но не один и тотже.

Dima
30.10.2016
11:29:02
погодите

kolas
30.10.2016
11:29:18
сразу с фронта должны отправить хэш вида {to: {}, from: {}}

Dima
30.10.2016
11:29:41
короче какие задаи 1) высленить for и to 2) сотвественно обзать 3) strip

сразу с фронта должны отправить хэш вида {to: {}, from: {}}
ну да... это точно. Тем не менее на на данном этапе как сделать.

Dima
30.10.2016
11:30:59
это рубокоп: https://github.com/bbatsov/rubocop ?

I
30.10.2016
11:31:09
да

еще советую сразу .rubocop.yml найти

а то он просто возьмет и обосрет каждую строчку... и отчасти будет прав

I
30.10.2016
11:32:52
некоторые правила далеко не всегда применимы. К примеру, правила с документированием кода практически всегда я стараюсь отключить.

Alex
30.10.2016
11:33:11
@lbvf50 сделай пожалуйста p params и скинь сюды

Dima
30.10.2016
11:33:29

Страница 254 из 1594