|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
Filosofia di programmazione
In tutti i corsi di informatica insegnano:
prima di mettersi a programmare bisogna sempre "pensare" e "abbozzare" qualcosa su carta...In linea logica ciò è vero, in questo modo il risultato sarà sicuramente più elegante e funzionale, ma...io non ci riesco, quando ho in mente un programma mi metto davanti al mio pc e scrivo le idee come vengono; cercando, poi, di integrare il tutto al meglio possibile. Non sò come è, ma se non ho davanti una tastiera ed un monitor non riesco a scrivere una riga (neppure in Pseudocodice!!) . Voi come procedete?? Quale è la vostra "filosofia di programmazione? Procedete in modo impulsivo o determinato a priori?? Ciao a Tutti |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Sep 2000
Messaggi: 886
|
<<Procedete in modo impulsivo o determinato a priori??
A parer mio per programmi piccoli e dalla logica immediata puoi anche buttare giù le cose al volo, al massimo farai qualche aggiustamento di corsa ma per applicativi seri mettersi a scrivere codice prima di pensare all'architettura se non è suicida sicuramente rischia di farti perdere molto, molto tempo...si può spezzare un problema in varie parti e risolvere quelle, ma comunque una logica ci vuole sempre e comunque...alla fine i risultati arrivano.
__________________
1986/2008 - 22 anni di rabbia cancellati in un giorno. Adesso passeranno altri 22 anni.. ![]() |
![]() |
![]() |
![]() |
#3 | |
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
Quote:
tu come fai di solito? |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Sep 2000
Messaggi: 886
|
Vedi sopra...se devo scrivere qualche utility volante cerco di buttare giù il codice e pazienza se viene fuori alla "va là che vai bene" ...ma se si tratta di cose che possono avere un impatto di un certo peso mi metto sempre a pensare bene a come fare il tutto, al limite, qualche volta, ricorrendo ai classici schemi a blocchi, un po' retrò, forse, ma talvolta molto utili...certo sperando di averne il tempo, quello è un altro discorso...
__________________
1986/2008 - 22 anni di rabbia cancellati in un giorno. Adesso passeranno altri 22 anni.. ![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Anche io solitamente faccio così... Poi ultimamente mi sono buttato in un progetto abbastanza grande che faceva ampio uso di classi e gerarchie di classi create da me...
In pratica dopo averlo quasi finito la struttura e parte del codice mi è toccato riscriverlo praticamente da capo per ottenere la gerarchia di oggetti che volevo e a cui all'inizio non avevo pensato... Se il progetto è grande conviene SEMPRE scrivere (o disegnare) qualcosa prima... Magari non serve entrare troppo nel dettaglio, ma qualcosa che riguarda i moduli (o le classi) del programma e la loro interazione conviene farlo... UML l'hanno studiato per questo... Purtroppo strumenti validi di authoring UML come TogheterSoft o Rational Rose sono molto cari anche se molto utili (spesso generano anche l'intestazione delle classi in Java e/o C++) |
![]() |
![]() |
![]() |
#6 |
Bannato
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
|
Spesso e' difficile sapere a priori cosa si vuol ottenere. Anche quando si ha chiara l'idea del cosa ottenere, non si sa bene come, e ce se ne accorge solo durante la produzione del codice. A volte quindi un modo comodo e' quello di buttare giu' un prototipo "a getto" si vede cosa va e cosa no, e poi si riparte da zero (o tenendo quel che risulta riutilizzabile) con una impostazione piu' rigorosa.
|
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Jun 2002
Città: Firenze
Messaggi: 630
|
Quote:
__________________
---> Lombardp CSS Certified Expert (Master Level) at Experts-Exchange Proud user of LITHIUM forum : CPU technology Webmaster of SEVEN-SEGMENTS : Elettronica per modellismo |
|
![]() |
![]() |
![]() |
#8 | |
Bannato
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
|
Quote:
![]() ![]() ![]() ![]() A questo punto bisognerebbe forse decidere di che tipo di progetti si sta parlando, visto che in effetti l'approccio puo' cambiare. Anche il fatto che una cosa si faccia per lavoro (tempi ristretti, specifiche un po' piu' chiare ) o "just for fun" cambia... |
|
![]() |
![]() |
![]() |
#9 |
Member
Iscritto dal: Jul 2001
Messaggi: 36
|
Vediamo se non dico un eresia:
Ho scritto cose lunghette solo in C e in php. Diciamo che in php al di sopra del centinaio di righe di codice conviene il disegnetto e in C pure. Che ne pensate? In java credo convenga sempre e comq, o in ogni situazione in cui si fa un progetto a oggetti. Il discorso just for fun secondo me non è proprio corretto, io per esempio nelle cose just for fun, visto che ho tempo illimitato cerco di fare tutto al meglio. Quando si deve rispettare una scadenza invece è più facile tendere verso la "spaghettata" In ogni caso prima do una descrizione qualitativa del tutto e poi siccome in corso di opera vengono sempre fuori, o da me o purtroppo dai clienti necessità di feature non previste prima di rifare tutto da zero si cerca una soluzione estemporanea ![]() |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Comunque per progratti medio-grandi io intedo progetti che coinvolgono o più persone o che già al momento di cominciare siamo sicuri che raggiungeranno un numero di righe di codice superiore alle 5-10 mila (anche se non è una buona unità di misura della complessità del progetto)...
|
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Io ho sempre programmato in VB ed ora anche in Delphi, ma non sono mai riuscito a scrivere qualcosa prima: le applicazioni le creo sfruttando tutte le proprietà di una funzione che potrei non conoscere a fondo: ho bisogno dell'help al mio fianco !
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19148
|
io cerco sempre di pensarci prima, non necessariamente scrivendo su carta. quando penso di aver affrontato tutte le problematiche possibili inizio a scrivere, ma tanto la maggior parte dei problemi si scoprono appunto quando si sta programmando, non prima...
|
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
In generale il progetto è a grandi linee e riguarda l'interazione fra i moduli e non comprende le istruzioni del linguaggio di programmazione in cui sarà sviluppato il progetto... Si tratta di stabilire delle linee guida su cui si deve sviluppare un progetto... Ad esempio se io voglio fare un server mail devo pensare prima di tutto ai moduli che compongo il progetto...server pop3, server smtp, modulo di invio delle mail, modulo che gestisce i dati... Tutti i moduli comunicheranno con il modulo che gestisce i dati...il modulo che gestisce i dati si suddividerà a sua volta in diversi moduli : gestione delle mailbox, gestione della posta in uscita, gestione degli utenti, gestione del file di log, interfaccia con il DBMS... Poi chiaramente si dovranno studiare le interazione anche fra questi moduli... Ovviamente si può andare ancora più nel dettaglio specificando l'"interfaccia" che ogni modulo mette a disposizione per gli altri... E tutto questo senza scrivere una riga di codice se non l'intestazione parziale delle funzioni... |
|
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:50.