Pull to refresh

Comments 11

Самодокументируемыми вроде слитно пишется. Иначе на финский язык смахивает очень)

спасибо, исправил

Мне для лайка кармы не хватает, но коммент пропукает.
Спасибо.

Смотрю на эти бесконечные фичи и думаю. Слишком строгий язык - сложно написать, слишком свободный - тяжело прочитать. Вот бы где-то остановились уже. Этих вещей реально может быть бесконечно, и каждая "полезная" . Запретить свободу выражения - развития не будет. В общем, начинали бы тогда запрещать что ли какие-то старые конструкции хотя бы, т.е. меньше обратной этой совместимости бы что ли с каждой новой версией бы. Потому что невозможно просто. Молодым зашедшим норм, они могут старого не знать (или наоборот погано - заставят учить), а старым тяжело - опять новое учить (и легко, старый код не надо переписывать).

Короче походу скорость развития программных языков будет как развитие человеческих - зависеть от длины жизни людей...

Мне кажется, Python пытается идти путем "разумных defaults" и постепенного внедрения. Например, @dataclass или cached_property — это не усложнение, а, наоборот, упрощение, убирающее тонны шаблонного кода.

Насчет обратной совместимости — здесь палка о двух концах.

Метафора о длине жизни точна, прям задумался...

Мне как относительно молодому пока что прикольно и интересно учить новое. А пока старым есть что учить новое - так тоже хорошо, деменция чуть дальше )

Я на втором пункте дважды споткнулся:

  1. Если fetch() возвращает текст ответа, результаты у gather() нужно принимать. А если принимаем результаты от gather(), умышленно или случайно return_exceptions оставлено в значении по умолчанию?

  2. Учитывая itertools.batched(), намеренно ли сделана своя нарезка на чанки?

А за наводку на validate_call() спасибо!

  1. В примере возвращаемое значение fetch() не используется, пример был сделан для демонстрации "Контроль через Semaphore + чанки предотвращает OOM и блокировки API" . Я предполагал, что результаты сразу не нужны.

    return_exceptions  = False - не случайно, в продакшене ошибки нужно обрабатывать, а вообще это зависит от бизнес задачи, если есть выбор то чаще проще не разбирать логи результатов, а сразу смотреть что не так.

  2. Иногда требуется добавить ручной rate limiting или backoff, но если всего этого не нужно, то batched() я думаю даже лучше

6 пример: добавил к коду print(s) - пишет: user: — role:

спасибо, я потерял else: parts.append(item.value)

теперь пример рабочий

Sign up to leave a comment.

Articles