[Python] come organizzare il codice, file lungo...

Daniele Varrazzo piro a develer.com
Mar 7 Ago 2012 17:43:14 CEST


On 2012-08-07 16:07, Marco Mariani wrote:
> 2012/8/7 Pietro <peter.zamb a gmail.com>
>
> solo che in questo modo l'import di una geometria diventa abbastanza
>> ripetitivo... tipo:
>>
>> from pygrass.vector.geometry.point import Point
>> from pygrass.vector.geometry.line import Line
>>
>
> Non c'e' nulla di male.
> Anzi, secondo alcune linee guida, la forma corretta sarebbe
>
> from pygrass.vector.geometry import point
> per poi usare point.Point

Non mi risultano queste "linee guida". Mi sembra prolissità inutile.


> ma l'importante e' che eviti quanto segue
>
>
>> chiamando i file all'interno della cartella con un undescore davanti 
>> in
>> modo che siano
>> non visibili, tipo:
>>
>> # pygrass/vector/geometry/__init__.py
>> from _point import Point
>>
>
> Questo personalmente non l'ho mai visto. Anzi, in genere l'undercore 
> viene
> usato per moduli scritti in C.
>
> C'è un modo che vi sentireste di suggerire rispetto ad un altro? è
>> solo questione di gusti personali?
>> c'è un metodo più pythonico dell'altro? uno che è meglio evitare?
>> Mi tengo il file lungo? :-)
>>
>
> Come hai detto, puoi dividere le classi a tuo piacimento, una o piu' 
> classi
> per file, e importarle da __init__ o da un ulteriore shapes.py

+1. Ok a definire Point dentro point.py (non c'è bisogno di imboscare 
il modulo con l'underscore), importare gli oggetti pubblici dentro 
__init__.py e documentare di usare quello (façade, se vuoi una parola 
fica).


-- 
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com


Maggiori informazioni sulla lista Python