La méthode __init__ insensée qui a failli me rendre fou

2025-04-19
La méthode __init__ insensée qui a failli me rendre fou

Un test de service Python échouait de manière intermittente en raison d'une méthode __init__ bizarre. La classe FooBarWidget, dans son __init__, lance un nouveau thread pour exécuter les méthodes __init__ et run de sa classe parente FooWidget. Cette conception tente d'éviter le blocage du thread principal car les objets zmq.Socket ne peuvent pas être déplacés entre les threads. Cependant, fermer une instance FooBarWidget trop tôt peut laisser le __init__ de FooWidget inachevé, entraînant un attribut 'should_exit' manquant et une erreur. Ce récit humoristique détaille l'expérience de débogage et explore la logique derrière cette conception non conventionnelle.

Développement