
Denis
10.10.2016
14:32:05
где?

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
копи паст - сила джедаев

Nikolay
10.10.2016
14:34:39

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

Rishat
10.10.2016
14:35:10

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

Nikolay
10.10.2016
14:38:42

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 завернуть так, чтобы было нормально работать

Denis
10.10.2016
14:40:37
с сериализацией я свыкся и пишу тесты на нее

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

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"
эм. когда я пишу класс с методами - они дефакто являются гарантией того, что они будут существовать в рантайме

Rishat
10.10.2016
14:50:04

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

Rishat
10.10.2016
14:50:58
:)

Nikolay
10.10.2016
14:52:35

Mikhail
10.10.2016
14:52:45

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 - более чем укладывается в общее понятие "эксплуатация"