# Pubblicato programma in Ruby + Gtk2

**URL:** <https://www.ruby-forum.com/t/pubblicato-programma-in-ruby-gtk2/183372>\
**Category:** IT\
**Created:** [February 12, 2010, 4:11pm UTC](https://www.ruby-forum.com/t/pubblicato-programma-in-ruby-gtk2/183372 "2010-02-12T16:11:30Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![daneel\_olivaw](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@daneel\_olivaw](https://www.ruby-forum.com/u/daneel_olivaw)\
**Post date:** [February 12, 2010, 4:11pm UTC](https://www.ruby-forum.com/t/pubblicato-programma-in-ruby-gtk2/183372/1 "2010-02-12T16:11:30Z")

</div>

Buongiorno, esimi.  
Dopo ere geologiche sono finalmente riuscito a far raggiungere un  
livello di decenza funzionale sufficiente al famoso programma annunciato  
tempo fa.

Trattasi di un programma che permette la gestione dei movimenti di una  
stalla di bovini, Ã¨ praticamente un monolito di codice scritto coi piedi  
e dalla logica a volte assurda, se si capisce qualcosa molto lo si deve  
alla sintassi di Ruby. Come unica scusante porto che l’ho realizzato da  
autodidatta, cercando di imparare qualcosa… il risultato Ã¨ stato  
tragico, ma almeno funziona 🙂

Se qualcuno vuole darci un’occhiata e magari suggerire qualcosa di  
costruttivo, io sono qui e ringrazio in anticipo 🙂

Spero che possa essere utile a chi sta imparando a programmare con Gtk2,  
almeno per quanto riguarda il “CosÃ¬ NON si deve scrivere codice” :-DDD

Lo trovate qui: [GitHub - DaneelOlivaw/Aurox: Programma per la gestione di una o più stalle di bovini](http://github.com/DaneelOlivaw/Aurox)

E per concludere, grazie infinite a tutta la comunitÃ per i preziosi  
suggerimenti passati e futuri 🙂

---

<div class="post-metadata">

**Author:** ![daneel\_olivaw](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@daneel\_olivaw](https://www.ruby-forum.com/u/daneel_olivaw)\
**Post date:** [February 16, 2010, 10:09am UTC](https://www.ruby-forum.com/t/pubblicato-programma-in-ruby-gtk2/183372/2 "2010-02-16T10:09:52Z")

</div>

Inizialmente la cosa piÃ¹ importante di qualsiasi programma Ã¨ che  
funzioni, e quest’obiettivo l’hai centrato. PerÃ² Ã¨ indispensabile che  
possa continuare a funzionare negli anni successivi e per questo bisogna  
che il sw sia scritto in un certo modo, oppure presto o tardi diventa  
impossibile metterci le mani e fare le modifiche che si rendono  
necessarie. Da questo punto di vista un programma monoblocco di quasi  
6700 linee non promette bene.

L’ho guardato molto rapidamente, ma un modo abbastanza naturale per  
spezzarlo sarebbe creare una classe per ogni tipo di finestra o maschera  
che usi. L’approccio del programma resterebbe fondamentalmente  
procedurale, che di per sÃ© non Ã¨ un crimine :-), ma almeno sarebbe piÃ¹  
semplice muoversi con l’editor all’interno dei file. Fatto questo piano  
piano ti verranno da sole altre idee su come individuare oggetti  
all’interno dell’applicazione ed estrarli in un loro file.

Il file database.rb invece tutto sommato puÃ² andar bene anche cosÃ¬  
com’Ã¨: essendo corto e composto da poche classi e forse Ã¨ piÃ¹ leggibile  
cosÃ¬ che spezzato in un file per ogni modello, ma se ne puÃ² discutere.

Paolo

Daneel O. wrote:

> Buongiorno, esimi.  
> Dopo ere geologiche sono finalmente riuscito a far raggiungere un  
> livello di decenza funzionale sufficiente al famoso programma annunciato  
> tempo fa.
> 
> Trattasi di un programma che permette la gestione dei movimenti di una  
> stalla di bovini, Ã¨ praticamente un monolito di codice scritto coi piedi  
> e dalla logica a volte assurda, se si capisce qualcosa molto lo si deve  
> alla sintassi di Ruby. Come unica scusante porto che l’ho realizzato da  
> autodidatta, cercando di imparare qualcosa… il risultato Ã¨ stato  
> tragico, ma almeno funziona 🙂
> 
> Se qualcuno vuole darci un’occhiata e magari suggerire qualcosa di  
> costruttivo, io sono qui e ringrazio in anticipo 🙂
> 
> Spero che possa essere utile a chi sta imparando a programmare con Gtk2,  
> almeno per quanto riguarda il “CosÃ¬ NON si deve scrivere codice” :-DDD
> 
> Lo trovate qui: [GitHub - DaneelOlivaw/Aurox: Programma per la gestione di una o più stalle di bovini · GitHub](http://github.com/DaneelOlivaw/Aurox)
> 
> E per concludere, grazie infinite a tutta la comunitÃ per i preziosi  
> suggerimenti passati e futuri 🙂

---

<div class="post-metadata">

**Author:** ![daneel\_olivaw](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@daneel\_olivaw](https://www.ruby-forum.com/u/daneel_olivaw)\
**Post date:** [February 16, 2010, 11:52am UTC](https://www.ruby-forum.com/t/pubblicato-programma-in-ruby-gtk2/183372/3 "2010-02-16T11:52:55Z")

</div>

Paolo M. wrote:

> Inizialmente la cosa piÃ¹ importante di qualsiasi programma Ã¨ che  
> funzioni, e quest’obiettivo l’hai centrato. PerÃ² Ã¨ indispensabile che  
> possa continuare a funzionare negli anni successivi e per questo bisogna  
> che il sw sia scritto in un certo modo, oppure presto o tardi diventa  
> impossibile metterci le mani e fare le modifiche che si rendono  
> necessarie. Da questo punto di vista un programma monoblocco di quasi  
> 6700 linee non promette bene.

Infatti.

> L’ho guardato molto rapidamente, ma un modo abbastanza naturale per  
> spezzarlo sarebbe creare una classe per ogni tipo di finestra o maschera  
> che usi. L’approccio del programma resterebbe fondamentalmente  
> procedurale, che di per sÃ© non Ã¨ un crimine :-), ma almeno sarebbe piÃ¹  
> semplice muoversi con l’editor all’interno dei file. Fatto questo piano  
> piano ti verranno da sole altre idee su come individuare oggetti  
> all’interno dell’applicazione ed estrarli in un loro file.

Ed Ã¨ quello che ho provato a fare, fallendo miseramente. Ci sono esempi  
pratici relativamente semplici da qualche parte? Finora non li ho  
trovati.

Avevo anche provato ad usare Glade o altro per costruire le interfacce  
grafiche in maniera piÃ¹ decente ed avere una struttura di codice piÃ¹  
decente, ma non ho capito come collegare il codice scritto da me a  
quello generato dal costruttore dell’interfaccia… sono una tragedia,  
lo so '🙂

> Il file database.rb invece tutto sommato puÃ² andar bene anche cosÃ¬  
> com’Ã¨: essendo corto e composto da poche classi e forse Ã¨ piÃ¹ leggibile  
> cosÃ¬ che spezzato in un file per ogni modello, ma se ne puÃ² discutere.
> 
> Paolo

Beh, almeno qualcosa sono riuscito a fare 🙂

Grazie.
