Alexander
Loo
Ща бы пакеты помодерировать, ммм
По стопам ру раст гиттер
Ivan
доктор сказал "в морг!"
Sergey
ребзя
Ivan
у нас тут аджайл а не вот это вот!
Sergey
расскажите как лучше отрефакторить это нечто: https://github.com/sergeysova/tomlcli.rs/blob/master/src/main.rs
Sergey
я в расте только недавно)
Латентный Бурят
👍
Весомый аргумент, однако.
Vladimir
Так чё, графql может быть рест или не может?
Sergey
Макросом )
ну для цветов да
Sergey
а вот сам исходник
Sergey
точнее select_path и print_toml
Vitaly
Да ну норм
Vitaly
Можно конечно побайтоебить, но норм
Sergey
дублирование кода имеется
Sergey
ну и глубокая вложенность
Sergey
плюс печатает неочень
Vitaly
Ну так раст, тут миллион способов. Выдели в функцию или трейт
Vitaly
Можно бесконечно тюнить, крутота
Sergey
круто
Cat
(ПО ВКУСУ; не претензия, но есть нелюбители) чтобы не увеличивать вложенность, > match File::open(path) { Ok(), Err() } можно сделать let f = File::open(); if let Err(error) = f { std::process:exit(1); } // далее обработка открытого файла
Alex
> running 0 tests сорямба, но я бы начал с тестов
Маjко
И в мейне бы ее вызвал
Маjко
И там уже печатал ошибку и выходил
Маjко
А это просто let f = File::open()?;
Cat
да, так ещё моднее; никак не привыкну к ?
Маjко
Кроме того, нонче из мейна тоже ошибку кинуть можно
Маjко
Но там будет паника и вывод некрасивый)
Sergey
> running 0 tests сорямба, но я бы начал с тестов
а я чет хз как на это писать тесты (
Cat
а если линейно конвертить в одну ошибку и с ?
тогда как пишет @mersinvald (если я правильно понял)
Sergey
ребятки, спасибо
Cat
> с failure угу
Cat
failure?
чтобы завернуть абстрактную ошибку в failure::Error
Маjко
Маjко
К слову, если не в курсе — будь
Маjко
Тип стандарт обработки ошибок в этих ваших растах
Маjко
Итд
Sergey
спасибо
Денис
failure + derive_more — братья на век
Денис
или счастье на век, не знаю
Денис
@c_vld кстати спасибо за крейт, прям чётко отработало )
Alex
а я чет хз как на это писать тесты (
если тестировать кли/клеп - assert_cli норм, цветной вывод - хз, ну а юнит тесты помогут выделить модули в коде и таким образом уменьшат вложенность - ваш кеп
Anton
круто
Anton
Это первый раст митап в России?
Tuntz
кек
Tuntz
Третий в Сторике, емнип 6й в мск
Anton
Третий в Сторике, емнип 6й в мск
немосквичи(колхозники) не в курсе
Tuntz
Просто он (типа) под эгидой rustycrate
Loyd
Мдееееее
Loyd
Понятно.
Маjко
У вас применяется кодофкондакт на митапах?
Safort
Мдееееее
Ты так говоришь, будто это плохо)
Vladimir
У вас применяется кодофкондакт на митапах?
Обязательное присутствие негра, женщины и транссексуала
Cat
"нельзя называть Панкова плохим человеком"
Денис
zero cost abstractions
Маjко
zero cost abstractions
Zero Cost это если она еще и из Африки и массовкой за воду работает
Sergey
расскажите как лучше отрефакторить это нечто: https://github.com/sergeysova/tomlcli.rs/blob/master/src/main.rs
а может есть смысл не печатать сразу через print! а собирать всё в буфер и потом выводить?
Pavel
А если это один человек?
это хорошая экономия
Alex
а может есть смысл не печатать сразу через print! а собирать всё в буфер и потом выводить?
если незачем, то и не нужно 🙂 has_color вот это все - это чтобы выключить цветной вывод? кажется в colored это можно сделать так: colored::control::set_override(false);
Cat
да, чтобы выключить
а у тебя только полное отключение цвета, или возможно частичное? просто если полное, то мб проще создать Formatter? и пусть у него будет поле with_colors: bool
Cat
хотя это отчасти оверкил [ненужные идеи] если сделать formatter, то можно будет мимикрировать под форматтер из stdlib (на зачем??)
Alex
не заметил отключения
у меня выключило (макось) предательство какое-то