[Python] Python vs UML

Enrico Franchi enrico.franchi a gmail.com
Dom 3 Feb 2008 23:55:02 CET


On Feb 3, 2008, at 10:35 PM, Giorgio Zoppi wrote:

> Il problema è che le applicazioni esplodono soprattutto quelle scritte
> in linguaggi come C# e Java: lo dico per esperienza.

Quoto, ovviamente. Per Java intendo. C# non me lo filo, per cui non mi  
esprimo.
Mi sono spesso interrogato sulla tendenza a sovraingegnerizzare di  
progettisti Java.

> In Python non ho scritto mai piu di 1000
> righe di codice.

Eh...

> 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

Questo è vero. Ma va anche detto che ci sono *tanti* metodi che  
possono essere usati.
Il pair programming risolve abbastanza alla svelta (a meno che  
casualmente non si formi sempre una coppia di due con gli stessi  
vizi...).
In generale anche la peer review risolve.


> (se riuscite
> a capire un sistema fatto da tanto solo dall'analisi statica, cambio
> mestiere...vado
> a fare l'educatore)

Se ti può interessare, a margine, ho anche lavorato a tools di analisi  
statica automatizzata. :P
Ma è meglio che non dica quale sia la mia opinione a riguardo.

> , 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.

Se riesci a capire dove sta il collo di bottiglia di un sistema  
guardando la descrizione (necessariamente astratta) in UML, tanto di  
cappello.
Io non sono minimamente in grado (esattamente come mi rendo conto che  
la pura intuizione è fuorviante).
Preferisco usare un buon profiler e arrivare al punto.


> 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.

Bene. Sempre felice quando si passa a Python.



More information about the Python mailing list