Newsgroup: it.comp.appl.access
Titolo: Come condividere codice tra vari progetti?

Ogni programmatore dispone del suo bell'insieme di funzioni/procedure 
realizzate nel corso dei lustri/secoli
Funzioni che spesso sono usate in diversi progetti
Il brutale copia/incolla di tutte le funzioni all'interno di ogni 
progetto, anche se efficace nel breve, nel lungo periodo consente un 
disallineamento delle singole funzioni che spesso porta al suicidio dei 
piu' deboli
Resistono solo i veri 'spaghetti coder'
Ma voi, come fate a condividere porzioni di codice tra i vari progetti?
Ciao e grazie
RobertoA


Li metto in una libreria?
Intendo un MDB/MDE a se stante (se siamo in access)
 
-- 
ac (x=y-1)
Aborro il Killfile
(La violenza e' l'ultimo rifugio degli incapaci -Salvor Hardin-)

La domanda non è come... ma perché..? 
Si fa prima a copiare codice e varie piuttosto che usare mde... quando poi lo distribuisci i riferimenti vanno ripristinati...
Dai lasciate stare i giochetti 
 
@Alex


Vera la parte dei riferimenti.
Come tutte le cose esiste un equilibrio.
Immagina se dovessi avere decine di applicazioni diverse in cui usi lo
stesso codice, o, come mi e' capitato, di costruire applicazioni
  diverse a partire da uno stesso "core" che /ogni tanto/ richiede
una aggiustatina.


 
 
Infatti io faccio un COPY/PASTE del Progetto di base e sopra gli faccio le maschere e i report... non se ne parla nemmeno di fare dei pasticci di quel tipo.
 
Alla fine le mie LIB sono sempre bene o male le stesse, e siccome il codice non lo pago(è già scritto), non sono quei 2MB in più che disturbano...
 
@Alex


Non credo sia questo il problema di RobertA (e di fondo)
 
Immagina questo scenario:
I progetti sono gia' stati rilasciati e contengono tutti una (o +)
  funzione  che per /qualsivoglia/ motivo deve essere modificata
C'e' poco da fare copia/incolla
Ci sono stati casi in cui ho maledetto la scelta della libreria e casi 
in cui la ho benedetta. Casi in cui lo ho fatto e casi che non...
Per non parlare del fatto che (casi rari) hai necessita' di lasciare
  del codice /sprotetto/ (o viceversa protetto)
Equilibrio. Se ci fosse il toccasana per tutte le situazioni non
esisterebbe la figura del /developer/ (estremizzazione)


 piu' deboli
 
 
Sarà, ma io faccio proprio così.
 
Saluti 
 
 

 piu' deboli
 
 



Quello che intendevo dire e' che per il progetto 1, 2 e 3 viene usata 
una libreria che contiene 10 funzioni
Per il progetto 3, l'ultimo col quale si sta armeggiando, la funzione 
n.10 viene leggermente ritoccata
Quando si riprende a lavorare col progetto 1 e 2 il funzionamento dei 
programmi, se useranno la funzione n.10 della libreria comune, 
risultera' alterato
Come evitare questa situazione?
D'altra parte copia/incollare nel progetto tutte le funzioni solitamente 
usate, le fa 'scollegare' dalla libreria comune, situazione anche questa 
non ideale poiche' eventuali miglioramenti delle funzioni di libreria 
dovrebbero propagarsi anche ad altri progetti
 


Non esiste una gerarchia di ricerca funzioni?
Mi sembra che viene cercata prima sul locale e poi sul collegato o sbaglio?
Una funzione ritoccata /non/ e' la stessa funzione.
In quel caso non e' piu' codice /comune/
In questa situazione copio la funzione sul progetto locale e per
non sbagliarmi la rinomino e chiamo il nuovo nome.
E volendo ci metto anche una annotazione.
Oppure metto un nuovo parametro opzionale con default.
Chiamata senza nuovo parametro:fai il vecchio
Chiamata con nuovo parametro:fai il ritocco
(un overloading de /noantri/ )


 ...
 
Il mio insieme (che uso spesso) consiste solo di 5-6 moduli con un 
totale di forse 20-25 procedure. Non faccio copia/incolla ma importi ;-) 
da altri progetti per eventualmente ottenere "ModuloGiàPresente1", 
controllare e forse aggiorno/scambiare "ModuloGiàPresente".
 
Oltre ai codici (e per me più importante) esistono insiemi di oggetti 
(tabelle, query, maschere, report, moduli) che riuso ma sempre con 
adattamenti. Anche per questi non serve una biblioteca ma l'importo del 
"sistema" o di parti aggiunti/aggiornati.
 
La ragione per questo procedimento semplice è che sono coninvolto in 
troppi progetti diversi. Ho contribuito a >100 applicazioni di Access 
sia come creatore, sia solo programmatore/consulente di parti. Tante 
situazioni, esigenze, tanti livelli, stili.
 
Cioè, il lavoro è troppo variabile per una libreria di funzioni standard 
da riferire. Inoltre già come parte della filosofia evito dipendenze 
esterne dovunque possibile.
 
-- 
Ciao
Karl
*********
Access FAQ:  
http://www.donkarl.com/it
 

 Saluti
 
[+1] la vecchia scuola... ;-)
 
@Alex