[Python] Python vs UML

Giorgio Zoppi giorgio.zoppi a gmail.com
Dom 3 Feb 2008 22:35:20 CET


2008/2/3, Domenico Chierico <spaghetty a gmail.com>:
> On Feb 3, 2008 9:41 PM, Enrico Franchi <enrico.franchi a gmail.com> wrote:
>
> > > Quando lavori da solo è un po una rottura usarlo.
> >
> > Anche quando lavoro in gruppo. Certo, se per una serie di ragione i
> > miei compari non sono in grado di leggere il codice e la
> > documentazione e hanno bisogno di rappresentazioni grafiche... ok.
> > Anche UML ha un suo senso. Viceversa preferisco del buon codice,
> > scritto bene, non più complesso del necessario e una buona suite di
> > test che mostri anche come il codice va usato e come non va usato.
> >
>
> e se devi definire le interfacce prima di scrivere il codice per
> parallelizare l'implementazione di alcune componenti del software ?
>
> Scrivi tutti gli stub dei moduli ?
> Riesci ad avere una visione d'insieme di una grande applicazione a mente ?


Il problema è che le applicazioni esplodono soprattutto quelle scritte
in linguaggi come C# e
Java: lo dico per esperienza. In Python non ho scritto mai piu di 1000
righe di codice.
Cio' accade soprattutto quando si è in tanti a lavorare, perche ognuno vuole
mettere le sue ganzate: questo o quel design pattern quel modo di
procedere invece che
un'altro. Cosi uno si trova a passare i pomeriggi a fare debug scritto
dagli altri (se riuscite
a capire un sistema fatto da tanto solo dall'analisi statica, cambio
mestiere...vado
a fare l'educatore), mentre se fosse solo un po' piu documentato magari con UML
il pomeriggio lo passerebbe a fare shopping o cmq sa come e' fatto il
sistema si mette l'anima in pace e quando ci sono problemi di
performance sa dove andare a parare per eliminare i colli di
bottiglia. Un'altra
cosa che accade spesso in progetti opensource, non nel kernel di Linux
che è ben
commentato o nei sorgenti di Python (per esempio la parte sul garbage collection
è una favola..quasi quasi è piu la doc che il codice), è che spesso ti
trovi davanti
ad grandi parti  di codice C o Java, dove non c'e un commento o solo
commenti stupidi:
esperienza di un paio di mesi fa davanti a JBoss per dare una
struttura gerarchica
agli EJB, preferivo sparire e cambiare mestire. Infatti si è passati a
Python e SCA di IBM.

> IMHO e' solo questione del modello di sviluppo che si segue... si
> probabilmente quando si parla di Agile non c'e' proprio bisogno di
> uml, ma se cominciamo a vedere un approccio Waterfall dove chi fa
> l'analisi e' una persona diversa da chi fa il progetto che e' diversa

Sta cosa dello sviluppo agile ed Extreme Programming non lo mai capita,
ma in Italia ce qualcuno in questa ml. che lo fa realmente?
Se si quanto fate durare le iterazioni? Ce qualcuno che fa UP Agile?
Secondo me se non è fatto bene puzza di code-and-fix.
In generale comunque usare linguaggi piu snelli come Python,
semplifica di molto
il ciclo di sviluppo. Due mesi fa ho scritto un parser soap, che
prelevava i pacchetti
dalla rete, con libpcap in Python, in una giornata..in C o in Java
c'avrei messo mezza
settimana.

>
> Tutto serve ad uno scopo se lo usi in un'ambito diverso sembra una
> minchiata e questo e' normale :)
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>


More information about the Python mailing list