Alexander
очень много кода, но очень странного
Dmitry
копировать эрланг - это не тупиковая ли идея вообще?
Denis
Dmitry
лучше б до ума довели transient
Dmitry
что значит, на хаскелл
Alexander
у них там целый FP Complete ревьювит код
Alexander
Alexander
В смысле - кода, который сервит
Dmitry
ну короче - сервант ок, код его - не ок, т.к. для слишком умных людей написан
Alexander
тупиковая
Alexander
ну патчить сервант сложновато
Alexander
но как часто вы это делали?
Denis
Dmitry
да блин через раз
Denis
Ничего подобного.
Dmitry
и?
Denis
Когда Джон Хьюз (который из Quviq) посмотрел наши тесты - он прямым текстом сказал, что многие из этих тестов "just suck".
Denis
так что никакой излишней толерантности.
Alexander
Alexander
и?
Сервант - лишь небольшой слой взаимодействия с внешним миром. "Писать сервисы" == "писать бизнес-логику", и это никак не Сервант
Kirill
Alexander
да, если ваш сервис не генерит свою спецификацию и не тестирует ее автоматом, то он не очень
Denis
Alexander
как время-то бежит
Kirill
но вообще Денис вроде когда-то уже говорил, что у FPCo контракт с Cardano Foundation
Kirill
не с IOHK
Alexander
а да точно
Denis
именно
Alexander
но ты же ревьювил какой-то код?
Dmitry
Alexander
не так давно
Dmitry
остальное вполне понятно, слои там и т.п.
Alexander
в другом случае сервант начинаешь переизобретатт
Alexander
очень рано
Alexander
я ничего не говорил про контракт с IOHK
Alexander
а про то, что вы ревьювите тот код
Kirill
ок
Kirill
поправка только, что совсем далеко не ценлый FP Complete :)
Alexander
договор с компанией значит что она выделяет достатое кол-во ресурсов на решение проблемы и имеет shared knowledge
Kirill
в каком смысле shared?
Alexander
между сотрудниками
Alexander
т.е. если что-то странное или наоборот видишь то можешь обсуждать и получать знания других людей
Dmitry
Alexander
и.е. ревью сильной командой часто сильнее ревью сильного человека
Alexander
Alexander
учитывая, любое безумие там возможно с помощью Raw
Kirill
ядро OS? :)
Alexander
ну мы вроде про веб сервисы?
Alexander
я патчил там две вещи:
1. авторизацию (уже в апстриме)
2. streaming который был кривой
Dmitry
Alexander
ну не смотря на мою ругань я сделал его за пару часов
Alexander
при этом всегда можно написать Raw и получить чистый Wai
Dmitry
ну т.е зачисление серванта в группу риска означает, что ему есть какая-то общепринятая, зарекомендовавшая себя мейнстримная альтернатива
Dmitry
в нашем-то хаскелле. ну-ка ну-ка что это
Alexander
вот аж вчера мне нужно было переделать парсинг параметров, т.к. ingress или CDN перед сервисом неожиданно начал сам urldecode делать и это не тестировали
Alexander
пришлось заменить endpoint на raw
Alexander
Alexander
учитывая что это заметили в 11 вечера люди сидевшие в офисе
Alexander
да сервант внутри сложный и плохо документировар
Alexander
но лазить туда надо не часто, ещё там неплохой апстрим
Alexander
а ещё есть пачка людей тут которые его патчили, у которых можно бесплатно и не очень проконсультироваться
Alexander
чаще бесплатно
Dmitry
короче, кода меньше = код лучше. но если код работает - то он уже хороший.
Alexander
но лазить туда надо не часто, ещё там неплохой апстрим
Это очень хорошее качество. Когда есть понятный интерфейс и есть куча примеров, как его использовать так, чтобы его уши не протыкали собой все другие слои.
А вот с vinyl-рекордами (у меня на прошлом проекте) так не получилось. Поэтому мы коллегиальным решением загнали эти рекорды только в одну небольшую нишу, чтобы они не лезли в бизнес-логику. Автору (который еще, к слову, навертел поверх своей магии на типах) пришлось с этим смириться
Alexander
Dmitry
ну конечно, ведь лучше хороший, но не работающий код
Dmitry
во, в твиттере про понятность заговорили
Alexander
ну конечно, ведь лучше хороший, но не работающий код
Я не утверждал этого. На мой взгляд, здесь нет черно-белой оценки. Если код хорошо написан, но не работает, то там, возможно, есть какой-то простой баг, который очень легко найти и пофиксать. И все заработает
Alexander
Dmitry
да все фигуранты здесь сидят, и в общем ничего нового нет. хорошо/плохо понятно/непонятно много loc/мало loc
Dmitry
всё как всегда