Quelle serait une bonne directive de dénomination à utiliser dans le modèle de programmation asynchrone?

StackOverflow https://stackoverflow.com/questions/1034840

Question

Je suis en train de refactoriser un morceau de code pour transformer toutes les opérations de blocage en leurs équivalents asynchrones. Mon code est en C # et effectue une requête UPnP suivie d'une requête HTTP. Pour cela, j'utilise les méthodes APM de UdpClient et WebClient (BeginReceive, etc.).

Ma seule méthode est maintenant une succession de Call_1 - > Callback_1 - > Call_2 - > Callback_2 et ainsi de suite.

Quelqu'un peut-il m'indiquer des instructions sur les noms à donner aux méthodes dans cette situation, sachant que tout, à l'exception de Call_1, ne fait pas partie de l'interface de classe. Les méthodes Callback_1, Call_2, etc. ne sont en fait qu'un effet secondaire de la désynchronisation du flux de travail. Quelle nomenclature utiliseriez-vous?

En utilisant CCR, tout resterait dans une jolie méthode en utilisant le mot-clé rendement, mais malheureusement, je n’utiliserai pas CCR pour le moment.

Était-ce utile?

La solution

Pour exprimer au code client l'intention de votre code, préfixez toutes les méthodes ayant un comportement asynchrone avec run . Par exemple: runSOQuery , runDiskCheck et ainsi de suite.

Peut-être stupide mais encore plus clair pour le code client pourrait être fireAndForget , mais je ne suis pas sûr d'avoir bien compris votre question ...

Il serait préférable d'exprimer la sémantique asynchrone de la méthode en renvoyant une valeur de retour spéciale , telle que java.util.concurrent.Future, dans le cas de Java ou quelque chose de "home made". , autre part. .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top