2008/5/6 Pietro Battiston <[EMAIL PROTECTED]>: > Perché un vertice - nella mia applicazione - è prima di tutto la > giunzione di diversi lati. Voglio potere ad esempio congiungere (union, > o update) due vertici, ovviamente non voglio lati doppioni in uno stesso > vertice.
Quindi un vertice è *implementato* in termini di "insieme". Per esempio tutte le operazioni che puoi fare fra due insiemi le puoi anche fare tra due vertici? E fra un insieme e un vertice? L'insieme vuoto è un concetto perfettamente sensato. Il "vertice vuoto"? E il vertice di un solo lato? E' un insieme normale, ma come vertice non ha senso. > Ovviamente di un vertice mi interessano i lati che ci arrivano, mentre > dell'ordine me ne frego abbastanza (in realtà questa è più che altro una > scelta, perché semplicemente l'ordine non mi interessa per quel che > dovrò poi farci). E' sensato implementare in termini di. Ma mi stai sempre più convincendo che l'ereditarietà è fuori luogo. > Sì, sul principio generale hai perfettamente ragione. La verità è che se > mai deciderò che val la pena pubblicare quel che sto facendo, dovrò > ovviamente essere certo che ogni metodo che la mia classe ha (o eredita) > sia consistente, e in quel caso viva il duck typing, ma finché è una > roba mia mi fa estremamente comodo, spippolando con ipython, avere a > portata di mano tutto e subito per sperimentare, e magari fare anche > cose non consistenti (per debug, mi sono addirittura //scritto// metodi > che rendono il tutto non consistente). E che comunque lavorare in modo > "pulito" non avrebbe risolto il problema per cui avevo scritto in lista. Non mi sembra un discorso che si regge: non ti costa nulla seguire dei consigli. Oltretutto progettare bene le gerarchie di classi non è una cosa banale, non è una cosa che ti insegnano in università, ma è una cosa che impari con l'esperienza. Se non dai peso al design perchè "tanto è per te", quando dovrai farlo per gli altri, semplicemente non avrai accumulato le skills necessarie. Se invece fin da principio hai provato a progettare bene le cose, quando dovrai farlo anche per gli altri, saprai come farlo. Fra le altre varie cose, a volte anche persone decisamente esperte sbagliano. Solo in genere se ne accorgono un po' prima e talvolta non è troppo tardi. > Certo, per qualcosa che dovessi rilasciare al pubblico non avrei dubbi. > Per quel che riguarda me, preferisco che le funzioni "dalla coerenza > incerta" ci siano piuttosto che siano nascoste. Boh. > Sì, abbastanza. Forse la cosa non mi tange troppo solo perché non ho mai > partecipato all'"evoluzione" di niente in Python, finora quello che ho > scritto l'ho scritto sempre da solo, e tutti i miei moduli erano di > "alto livello" (non nel senso di qualità ma di specializzazione). Beh, io ti consiglio di cominciare a rifletterci su queste cose. Prima ci pensi, prima impari. Il discorso completo lo fatto più sopra. -- -enrico _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python