@scala_ru

Страница 152 из 1499
Alex
10.10.2016
14:32:20
дискуссия зашла в тупик

Rishat
10.10.2016
14:32:42
Google
Mikhail
10.10.2016
14:33:14
сложить 1 + 1 конечно не проблема, просто не понимаю зачем, если можно написать сразу 2

это метод нигде в скале не используется в коде

он исключительно задает сигнатуру

Denis
10.10.2016
14:33:44
ты название скала метода где то превращаешь в строку?

фреймворк из ада какой то )

Mikhail
10.10.2016
14:34:10
нет, я строку превращаю в название метода - но при этом не делаю никаких преобразований

Denis
10.10.2016
14:34:16
или из джавы

Mikhail
10.10.2016
14:34:32
это дает мне возможность скопировать из документации название метода и быстренько найти его в сорцах

Denis
10.10.2016
14:34:34
через рефлексию да?

Mikhail
10.10.2016
14:34:38
копи паст - сила джедаев

Grigory
10.10.2016
14:34:54
запахло джавой

Google
Daniel
10.10.2016
14:35:32
запахло религиозными войнами

Viacheslav
10.10.2016
14:35:37
запахло джавой
метелям отбой (с)

Mikhail
10.10.2016
14:36:25
toCamelCase - это дополнительное преобразование

которое также нарушает связь доков по апи с сорцами

копипаст уже не проканает)

Grigory
10.10.2016
14:37:00
._.

Denis
10.10.2016
14:37:56
Тут большая часть читает сейчас это с ужасом. В Scala не принято такое делать и если скалист придет на такой проект он охренеет и уйдет.

Viacheslav
10.10.2016
14:38:08
нет, я строку превращаю в название метода - но при этом не делаю никаких преобразований
попахивает ппц каким хрупким кодом, очень опасно. Для этого придумали енамы и кучу всего другого, чтобы работоспособность твоего кода не зависела от названия переменной

Nikolay
10.10.2016
14:38:26
пфф) посмотрите akka

Viacheslav
10.10.2016
14:38:29
копипаст уже не проканает)
из последних сил, что называется)

Denis
10.10.2016
14:39:05
не будем об этом :))

я про свежие практики

Nikolay
10.10.2016
14:39:36
там очень многое можно сделать через конфиги, которые не тайпчекаются ни разу. та же сериализация, загрузка extension-ов

Denis
10.10.2016
14:39:44
это меня дико бесит

но что поделать )

Mikhail
10.10.2016
14:40:36
класс и его методы уже представляет из себя строго типизированную хрень. строже типизировать входящие запросы уже не получится - как не крути

Nikolay
10.10.2016
14:40:36
возможно человек взял самый простой способ решить свою задачу. можно и java reflection завернуть так, чтобы было нормально работать

Google
Mikhail
10.10.2016
14:41:14
инвоук вобще работает очень быстро, особенно если каждый раз не получать метод динамически

так или иначе люди будут заводить Map[String, Method] - в том или ином виде

Nikolay
10.10.2016
14:41:36
я про свежие практики
можно подробнее?

Denis
10.10.2016
14:42:20
можно подробнее?
вырази как можно больше в типах

ну это то что я сам делаю и что вижу у других

Mikhail
10.10.2016
14:42:36
так ведь я и выражаю же как можно больше в типах)

Denis
10.10.2016
14:42:41
не берусь за всех говорить

Nikolay
10.10.2016
14:42:47
это понятно. я применимо к таким динамичным вещам, как extensions в акка

Mikhail
10.10.2016
14:42:53
def get_user_photo(id:int):UserPhoto

куда уж строже)

Grigory
10.10.2016
14:43:26
всеравно так и не понял зачем _

Mikhail
10.10.2016
14:43:51
зачем мне дополнительно к этому руками писать val methods = { case "get_user_method" => get_user_photo( request.post("id") ) } - или любые другие альтернативы - хоть убейте не понимаю)

Rishat
10.10.2016
14:44:05
всеравно так и не понял зачем _
Очевидно, чтобы срач в чатиках поднимать.

Nikolay
10.10.2016
14:45:45
зачем мне дополнительно к этому руками писать val methods = { case "get_user_method" => get_user_photo( request.post("id") ) } - или любые другие альтернативы - хоть убейте не понимаю)
compile time check, мне кажется только ради этого. Гарантия что этот метод существует, и возвращает результат нужного типа

Mikhail
10.10.2016
14:46:03
case "get_user_method" => get_user_photo( request.post("id") - не дает гарантии компайл тайп)

Nikolay
10.10.2016
14:46:14
как не дает?

Mikhail
10.10.2016
14:46:27
def get_user_method(id:Int):UserPhoto = вот что дает гарантию компайл тайп)

Nikolay
10.10.2016
14:46:51
val handle: PartialFunction[String, Result] = { case "x" => xx() }

Mikhail
10.10.2016
14:47:55
тут нет гарантии того, что для метода get_user_photo должен возвратиться UserPhoto

не совсем так конечно)

Google
Mikhail
10.10.2016
14:48:17
я кривовато выражаюсь)

Nikolay
10.10.2016
14:48:54
нет, я говорил о другом. о том что у тебя есть гарантия что метода get_user_photo существует

Mikhail
10.10.2016
14:49:07
но я опять таки не понимаю, зачем мне писать эту partialfunction обвязку? ведь она не гарантирует, что я не ошибся и не написал case "get_usir_photo"

эм. когда я пишу класс с методами - они дефакто являются гарантией того, что они будут существовать в рантайме

Mikhail
10.10.2016
14:50:47
Ришат, ты сейчас что сказал и как ответил на мой аргумент? )

поясни пожалуйста)

Rishat
10.10.2016
14:50:58
:)

Mikhail
10.10.2016
14:52:45
нет, я говорил о другом. о том что у тебя есть гарантия что метода get_user_photo существует
просто вместо того, чтобы руками писать подобные партиал обвязки - я использую автоматику, котоорая выполняет ту же функцию в рантайме. ведь все равно ты никак не сможешь в компайл тайме проверить ошибся ли ты в case "get_usir_photo"

Admin
ERROR: S client not available

Grigory
10.10.2016
14:53:01
о_О

О_О

О_о

O: O:

Mikhail
10.10.2016
14:53:34
case "get_usir_photo" => get_user_photo()

Grigory
10.10.2016
14:53:47
+

Mikhail
10.10.2016
14:53:50
ну давайте господа, попробуйте рассказать мне где тут вам поможет компайл тайм)

Rishat
10.10.2016
14:54:14
Расскажите ему кто-нибудь про managed sources)

Alex
10.10.2016
14:54:16
чую всё закончится лиспом

Google
Grigory
10.10.2016
14:58:42
я тж не понял про метод ведения док

и чем scala docs не подходит для описания апи конкретных классов

ну или что-то типа такого

Viacheslav
10.10.2016
15:00:33
а кто гарантирует что на клиентской стороне ты не оибешь и не напечатаешь: get_usir_fota? и твой запрос улетит не туда

Mikhail
10.10.2016
15:01:31
никто, об этом и речь. что есть ошибки которые можно будет обнаружить исключительно в процессе эксплуатации и никак иначе.

Denis
10.10.2016
15:01:43
тест роутера?

Mikhail
10.10.2016
15:02:05
вот я и не пишу бойлерплейт, который никаких гарантий дополнительных мне все равно не даст)

во первых можно ошибиться в тесте, но это хрен с ним. во вторых - тест все равно выполняется в рантайме

и компайл стадия - минуется

Denis
10.10.2016
15:02:51
я про исключительно в процессе эксплуатации и никак иначе

Mikhail
10.10.2016
15:02:53
все успешно компилируется

Rishat
10.10.2016
15:03:08
CI не нужон

Mikhail
10.10.2016
15:03:35
тест проводится исключительно в процессе эксплуатации) запускается уже успешно скомпилированный код и прогоняются тесты

Alex
10.10.2016
15:03:53
хуяк хуяк и в эксплуатацию

Mikhail
10.10.2016
15:04:55
если кто-то воспринимает рантайм исключительно - как запущенный код на продакшн сервер - это лично его восприятие)

Denis
10.10.2016
15:05:31
я думаю тут больше про в процессе эксплуатации

Rishat
10.10.2016
15:05:36
А если тестировщик поленится? А если...ай, да ладно

Alex
10.10.2016
15:05:52
quis custodiet ipsos custodes

Denis
10.10.2016
15:06:01
эксплуатация это не наладка + предпусковая подготовка

Mikhail
10.10.2016
15:07:52
строго говоря - процесс выполнения скомпилированного кода на jvm - более чем укладывается в общее понятие "эксплуатация"

Страница 152 из 1499