
Alexander
19.09.2018
06:03:56
сервант даёт автогенерацию кода, даёт автотесты, даёт swagger, даёт проверки сериализации всех данных

Dmitry
19.09.2018
06:04:05

Alexander
19.09.2018
06:04:23
притаскивает servant-quickchek

Google

Alexander
19.09.2018
06:04:58
все эти супервизоры, клиент-серверы и прочее
очень много кода, но очень странного

Dmitry
19.09.2018
06:05:42
копировать эрланг - это не тупиковая ли идея вообще?

Denis
19.09.2018
06:05:47

Dmitry
19.09.2018
06:06:00
лучше б до ума довели transient

Александр
19.09.2018
06:06:59

Dmitry
19.09.2018
06:10:05
что значит, на хаскелл

Alexander
19.09.2018
06:10:06
у них там целый FP Complete ревьювит код

Александр
19.09.2018
06:10:22
В смысле - кода, который сервит

Dmitry
19.09.2018
06:10:31
ну короче - сервант ок, код его - не ок, т.к. для слишком умных людей написан

Alexander
19.09.2018
06:10:31
тупиковая

Google

Alexander
19.09.2018
06:10:44
ну патчить сервант сложновато
но как часто вы это делали?

Denis
19.09.2018
06:11:01

Dmitry
19.09.2018
06:11:01
да блин через раз

Александр
19.09.2018
06:11:02

Denis
19.09.2018
06:11:41
Ничего подобного.

Александр
19.09.2018
06:11:42

Dmitry
19.09.2018
06:12:05
и?

Denis
19.09.2018
06:12:35
Когда Джон Хьюз (который из Quviq) посмотрел наши тесты - он прямым текстом сказал, что многие из этих тестов "just suck".
так что никакой излишней толерантности.

Alexander
19.09.2018
06:13:05

Александр
19.09.2018
06:13:10
и?
Сервант - лишь небольшой слой взаимодействия с внешним миром. "Писать сервисы" == "писать бизнес-логику", и это никак не Сервант

Kirill
19.09.2018
06:13:50

Alexander
19.09.2018
06:13:57
да, если ваш сервис не генерит свою спецификацию и не тестирует ее автоматом, то он не очень

Denis
19.09.2018
06:13:58

Alexander
19.09.2018
06:14:11
как время-то бежит

Kirill
19.09.2018
06:14:22
но вообще Денис вроде когда-то уже говорил, что у FPCo контракт с Cardano Foundation
не с IOHK

Alexander
19.09.2018
06:14:36
а да точно

Denis
19.09.2018
06:14:47
именно

Google

Alexander
19.09.2018
06:15:00
но ты же ревьювил какой-то код?

Dmitry
19.09.2018
06:15:04

Alexander
19.09.2018
06:15:04
не так давно

Dmitry
19.09.2018
06:15:17
остальное вполне понятно, слои там и т.п.

Alexander
19.09.2018
06:15:37
в другом случае сервант начинаешь переизобретатт
очень рано

Kirill
19.09.2018
06:16:36

Alexander
19.09.2018
06:16:52
я ничего не говорил про контракт с IOHK
а про то, что вы ревьювите тот код

Kirill
19.09.2018
06:17:33
ок

Александр
19.09.2018
06:17:52

Kirill
19.09.2018
06:17:59
поправка только, что совсем далеко не ценлый FP Complete :)

Alexander
19.09.2018
06:18:39
договор с компанией значит что она выделяет достатое кол-во ресурсов на решение проблемы и имеет shared knowledge

Kirill
19.09.2018
06:19:05
в каком смысле shared?

Alexander
19.09.2018
06:19:14
между сотрудниками
т.е. если что-то странное или наоборот видишь то можешь обсуждать и получать знания других людей

Dmitry
19.09.2018
06:19:56

Alexander
19.09.2018
06:19:57
и.е. ревью сильной командой часто сильнее ревью сильного человека
учитывая, любое безумие там возможно с помощью Raw

Google

Kirill
19.09.2018
06:20:49
ядро OS? :)

Александр
19.09.2018
06:20:57

Alexander
19.09.2018
06:21:03
ну мы вроде про веб сервисы?

Александр
19.09.2018
06:21:57

Alexander
19.09.2018
06:22:07
я патчил там две вещи:
1. авторизацию (уже в апстриме)
2. streaming который был кривой

Dmitry
19.09.2018
06:22:08

Alexander
19.09.2018
06:22:20
ну не смотря на мою ругань я сделал его за пару часов
при этом всегда можно написать Raw и получить чистый Wai

Александр
19.09.2018
06:23:35

Dmitry
19.09.2018
06:23:51
ну т.е зачисление серванта в группу риска означает, что ему есть какая-то общепринятая, зарекомендовавшая себя мейнстримная альтернатива

Admin
ERROR: S client not available

Dmitry
19.09.2018
06:24:02
в нашем-то хаскелле. ну-ка ну-ка что это

Alexander
19.09.2018
06:24:05
вот аж вчера мне нужно было переделать парсинг параметров, т.к. ingress или CDN перед сервисом неожиданно начал сам urldecode делать и это не тестировали
пришлось заменить endpoint на raw

Александр
19.09.2018
06:24:28

Alexander
19.09.2018
06:24:32
учитывая что это заметили в 11 вечера люди сидевшие в офисе
да сервант внутри сложный и плохо документировар
но лазить туда надо не часто, ещё там неплохой апстрим
а ещё есть пачка людей тут которые его патчили, у которых можно бесплатно и не очень проконсультироваться
чаще бесплатно

Google

Dmitry
19.09.2018
06:26:54
короче, кода меньше = код лучше. но если код работает - то он уже хороший.

Александр
19.09.2018
06:27:21
но лазить туда надо не часто, ещё там неплохой апстрим
Это очень хорошее качество. Когда есть понятный интерфейс и есть куча примеров, как его использовать так, чтобы его уши не протыкали собой все другие слои.
А вот с vinyl-рекордами (у меня на прошлом проекте) так не получилось. Поэтому мы коллегиальным решением загнали эти рекорды только в одну небольшую нишу, чтобы они не лезли в бизнес-логику. Автору (который еще, к слову, навертел поверх своей магии на типах) пришлось с этим смириться

Dmitry
19.09.2018
06:29:21
ну конечно, ведь лучше хороший, но не работающий код
во, в твиттере про понятность заговорили

Александр
19.09.2018
06:30:47
ну конечно, ведь лучше хороший, но не работающий код
Я не утверждал этого. На мой взгляд, здесь нет черно-белой оценки. Если код хорошо написан, но не работает, то там, возможно, есть какой-то простой баг, который очень легко найти и пофиксать. И все заработает

Dmitry
19.09.2018
06:31:37
да все фигуранты здесь сидят, и в общем ничего нового нет. хорошо/плохо понятно/непонятно много loc/мало loc
всё как всегда
отлично может выглядеть спор хаскеллиста, который за понятный код с адептом понятности кода, но питонистом или плюсовиком
т.е вроде точки зрения у них будут одинаковые, но есть нюанс!

Александр
19.09.2018
06:33:46
Я могу выступать в роли того самого плюсовика, который за понятность кода и там тоже. И немного за питониста тоже.
Точнее, так: за поддерживаемость. Понятность - это другая характеристика

Dmitry
19.09.2018
06:34:29
поддерживаемость можно как-то определить?

Yuriy
19.09.2018
06:34:42

Dmitry
19.09.2018
06:34:54
да как это вообще возможно?

Александр
19.09.2018
06:35:01

Yura
19.09.2018
06:35:21

Dmitry
19.09.2018
06:35:24
т.е тут по моему только два варианта - 1) я самый умный, если я чего-то не понимаю - то оно плохое 2) я не самый умный, если я чего-то не понимаю - надо разобраться
русскоязычные обычно самые умные

Александр
19.09.2018
06:36:10
В поддерживаемость входит тестируемость, понятность, легкий рефакторинг, легкий поиск ошибок, уменьшенное количество ошибок, баланс лаконичности и функциональности, документированность, покрытость тестами, а также другие характеристики.

Dmitry
19.09.2018
06:36:42
тестируемость как определяется? можно пример теструемого и нетеструемого (это как?) кода?
понятность - кому понятность?