Novo post no blog 🐍

VocĂȘ provavelmente jĂĄ escreveu o mesmo try/finally dezenas de vezes para fechar conexĂŁo, liberar lock, limpar recurso. Funciona. Mas quando a lĂłgica de encerramento muda, vocĂȘ caça essa duplicação pelo projeto inteiro.

O artigo mostra como criar context managers prĂłprios — com __enter__/__exit__ e com @contextmanager — e trĂȘs padrĂ”es que resolvem isso em produção.

🔗 https://www.riverfount.dev.br/posts/context_manager/

#Python #BaoPrĂĄticas #ContextManagers

VocĂȘ provavelmente nĂŁo precisa desse try/finally

Existe um padrĂŁo que aparece em quase todo projeto Python com mais de algumas semanas de vida. Ele tem variaçÔes, mas o esqueleto Ă© sempre o mesmo: 1 2 3 4 5 6 conn = get_db_connection() try: resultado = conn.execute(query) return resultado finally: conn.close() Funciona. Fecha a conexĂŁo mesmo se der exceção. NinguĂ©m vai questionar em code review. O problema Ă© que esse bloco vai se repetir em todo lugar que precisar de uma conexĂŁo — e quando a lĂłgica de encerramento mudar (adicionar log, mĂ©tricas, rollback), vocĂȘ vai caçar essa duplicação pelo projeto inteiro.

Blog do Riverfount

Context Managers: Python's 'with' is GENIUS!

Python's context managers vs PHP's try-finally - which handles resources better? INSANE difference!

#php #python #phpvspython #contextmanagers #withstatement #tryfinally #resourcemanagement #filehandling #viralcoding #pythonmagic #mindblown #programmingpatterns

https://www.youtube.com/watch?v=ojArYRcxXqg

Context Managers: Pythons with is GENIUS! #tryfinally

YouTube