group-telegram.com/retired_on_fire/397
Last Update:
К хорошему привыкаешь быстро.
Больше всего в Go меня подбешивала обязанность постоянно писать if err != nil
. С одной стороны это куда очевиднее и выбирая между эксепшнами и постоянным дрочевом с обработкой ошибок, то я выберу второе, потому что надобность в сентри или подобном отпадает. Плюс код становится более очевидным в плане того, где оно может поломаться и почему.
Нравится что в расте нет nil поинтеров и nil aka null в принципе, что отлично помогает в недопущении UB. None
есть, но это относится к Option
когда у тебя может быть два варианта, либо Some
, либо None
. Это больше похоже на монадические подходы.
Но вещь, которая прям зашла и теперь очень часто используемая штука это Result<T, E>
, который также похож на монадические вещи, однако там может быть что угодно вместо T
и E
.
Можно сделать такой вот код
type Error enum {
String(&’static str)
}
fn function_returning_error() -> Result<T, &’static str> {
let result = do_stuff().ok_or(“Error happened”)?.do_other_stuff().ok_or(“Another Err”)?
Ok(result)
}
?
прям хорошая штука в расте, который возвращает валидное значение, либо пропагейтит ошибку выше по стеку.Это удобно. Можно теперь писать код куда выразительнее и меньше тратить времени на бойлерплейтные вещи.
А еще я перешел на VSCode с ViM, правда чуть чуть страдая и может быть обратно вернусь на ViM. Все дело в интеграции из коробки с Copilot, который и код помогает писать быстрее (это не стандартные подсказки, а что-то более серьезное и генерящее большие куски кода, чаще всего валидные) и получать ответы на вопросы прям из вскода через Cmd+I интеграцию.
Я переходил с IDE на обычный текстовый редактор, потому что было удобнее и быстрее печатать самому в ViM. Да и фичи IDE я использовал редко. Сейчас VSCode делает меня куда продуктивнее, чем ViM.
Также скопился достаточно весомый беклог по темам для изучения, которые стало интересно изучить, который я хз когда раскидаю с текущим загрузом 😂
BY Андрей Журавлёв
Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260
Share with your friend now:
group-telegram.com/retired_on_fire/397