Pubblicato programma in Ruby + Gtk2

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 :slight_smile:

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

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

E per concludere, grazie infinite a tutta la comunità per i preziosi
suggerimenti passati e futuri :slight_smile:

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 :slight_smile:

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

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

E per concludere, grazie infinite a tutta la comunità per i preziosi
suggerimenti passati e futuri :slight_smile:

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 ':slight_smile:

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 :slight_smile:

Grazie.