[Python] Evitare le importazioni circolari

Marco Beri marcoberi a gmail.com
Dom 29 Mar 2015 16:14:03 CEST


On Mar 29, 2015 3:46 PM, "Francesco Maida" <francesco.maida a gmail.com>
wrote:
>
> Visto che finisco per sbatterci il grugno addosso quasi sempre, vorrei
finalmente imparare ad evitare quelle che in inglese vengono definite a
volte "circular imports" ed altre "cyclic imports". Non so nemmeno se il
nome "importazioni circolari" sia la loro giusta traduzione in italiano.
>
> Per capirsi, roba tipo questa:
> https://gist.github.com/fmaida/4972e0750bf01e659b7d
>
>
> Qualcuno di voi conosce dei testi o dei tutorial in Italiano o in Inglese
dove questi concetti vengano spiegati in maniera semplice e con tanti
esempi pratici?

Di norma un import circolare è un fortissimo indizio di un errore di
design.

Se ti sembra che A debba importare B e B importare A, allora puoi:

- creare C che contiene le parti comuni a A e B e importarlo da entrambi

- unire A e B perché potrebbero essere lo stesso oggetto visto da punti
diversi

- se proprio non riesci a evitarlo (ma questa sarebbe una sconfitta) allora
puoi spostare l'import a livello di funzione, bypassando così la circolarità

> Grazie e buona domenica delle palme a tutti

Grazie! Ma di cosa si tratta?

Ciao.
Marco.
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20150329/0f6bec34/attachment.html>


Maggiori informazioni sulla lista Python