Newsgroup: it.comp.appl.access
Titolo: (OT) sè perso lo stile della programmazione ?

i  frammenti di codice che leggo in questo NG riportati  da 
taluni sono caotici, mal fatti, non hanno alcuna eleganza. 
 
... sono ... "brutti", bruttissimi :-) 
 
Non voglio  asserire  che  vi  sia   un  unico  concetto  di 
eleganza per  quanto riguarda lo  stile  di  programmazione, 
per carità. 
 
Ogni bravo artigiano (imho i bravi programmatori lo sono) ha 
il suo. Spesso riconoscibile. 
 
Ma di sicuro quello  che  vedono qui i miei  poveri occhi mi 
fanno inorridire. Che cialtroni, Dio santissimo. 
 
Scusate lo sfogo
 
 

Approvo lo sfogo.
 
Io che sono un "maniaco" del codice scritto bene, ordinato con della sostanza, spesso inorridisco...
 
Ma tanto basta che funzioni... "dicono"...
 
@Alex

radica...@gmail.com
 wrote on 15-03-16 :

L'ho sempre pensato anch'io e non ho mai trovato
l'ardire di pronunciarlo.
Finalmente qualcuno mi ha dato quel coraggio!
 
Che il programmare più che un mestiere è un'arte!
 
Bruno


Bruno non vorrei offenderti ma ho visto pezzi di tuo codice (nel tempo) 
e non mi hanno entusiasmato.
Qui la maggior parte /non/ sono *programmatori* ma gente che usa uno
  strumento /abbastanza/ semplice per risolvere, in genere, problemi
personali (o molto locali).
 
 
-- 
ac (x=y-1)
Aborro il Killfile
(La violenza e' l'ultimo rifugio degli incapaci -Salvor Hardin-)
 
---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus
 
 


Il dubbio che tu possa appartenere alla stessa classe non
ti sfiora nemmeno!
E, tra l'altro, qui ve ne sono tanti che non sono /professionisti/
ma semplici /fai da te/ .



dice chi?
Caro Alessandro /qui/ siamo tutti delle gran  pippe.  Esclusi un paio,
(non il sottoscritto)!
 
E comunque:Whatever Works  (citazione filmica)


 (non il sottoscritto)!
 
Pippa o non pippa, è l'intenzione di migliorarsi che fa la differenza, ma è pur vero che il fine è quello che giustifica lo sforzo... e giustamente finchè il grosso è rappresentato da chi fa il DB delle spese di casa... lo sforzo non è nemmeno giustificabile.
 
Salut
 
@Alex


 
Che a tuo e dell'OP dire e'  gia la totaliata' quasi.
La quasi totalita', indi.
La democrazia dice che 1,00000001% rimanente deve subire e dovrebbe
anche stare zitta e non "gufare"


Il 15/03/2016 20:12, 
radica...@gmail.com
 ha scritto:

Sono un artigiano, cialtrone
Vorrei migliorare il mio stile di programmazione
Puoi darmi dei consigli su come/cosa fare?
Ciao
 
 


 
 
 
Confessa /che/ tu /ti/ ci /metti/ tra /quei/ due!
 
/Saluti/ 
 
 


no
 
 


... già :-) 

 ti sfiora nemmeno!
 
Ritengo (mi perdonerai la  presunzione) di avere un "decente"
stile di programmazione. In  ogni  caso  ce la metto  sempre
tutta per scrivere codice ordinato, conciso ed elegante. 
 
Chi mi ha insegnato a programmare m'ha dato come "imprinting"
questa cosa, m' ha dato l' amore per la bellezza del codice; 
 
E ci tengo

> Puoi darmi dei consigli su come/cosa fare?
 
Per comminciare: 
http://www.donkarl.com/it/?catalogo
 "Programmazione"
 
Persino in questi punti fondamentali ci sono divergenze d'opinioni (p.e. 
dal movimento Clean Code).
 
In genere preferisco gli artigiani agli artisti. Motivi: leggibilità e 
manutenzione.
 
-- 
Ciao
Karl
*********
Access FAQ:  
http://www.donkarl.com/it
 

 manutenzione.
 
Si, grazie
Tutte le singole righe scritte dal Karl sono ormai una sorta di 'Bibbia' 
dello sviluppatore Access
Chiedevo per tendere al millliorare ancora di piu'
Ma soprattutto per stimolare il caro radicale ad aiutare pure noi poveri 
artigiani, cialtroni s'intende
Ma sembra che gli piaccia molto piu' ciucciare dall'esperienze altrui e 
limitarsi al 'siete tutti tesi come molle' a chiunque gli risponda
 
 
 
 

 dal movimento Clean Code).
 
 
Oppure da chi non ha mai amato le notazioni di denominazioni degli oggetti 
"per Access"...
 
Saluti da Simone 
 
 

 limitarsi al 'siete tutti tesi come molle' a chiunque gli risponda
 
Sebbene sono abbastanza limitato al mio scarso italiano (e non leggo 
tutti messaggi qui) ho capito un po' la natura polemica del discorso. ;-)
 
Volevo solo aggiungere qualcosa (iniziale) per eventuali discussioni 
materiali. Non si sa mai.
 
-- 
:-)


 gli risponda
 
Beh, anche questa risposta  fa  pensare  che  sei effettivamente 
"teso come una molla" :-) 
 
Cmq non è  cattiveria  da  parte  mia,  perchè  non  posso *qui* 
insegnarti uno stile, come faccio ? Ci vuole un sacco di tempo e
un rapporto faccia a faccia. E  poi  pian  piano  dopo  che  hai 
"assorbito" troveresti il *tuo* stile,  probabilmente  del tutto 
diverso dal mio, comè giusto che sia. 
 
pace fratello, pace :-) 


 
Se ci fossero ancora in giro Biso o Lbo sarebbe ancora piu' divertente e 
@Alex ha perso la /vena/
;-)


 ;-)
 
Mi sento vecchio... che devo dire... ho scritto tante di quelle righe di codice che nemmeno so più come si fa, adesso non scrivo più COPIO/INCOLLO.
 
Il BISO potrebbe anche tornare ogni tanto a dare 2 frustate...!
Ora faccio il nostalgico... ma come mi mancano quelle belle sane e violente discussioni TECNICHE in cui ci si tiravano pesci in faccia tutte le volte... ma poi alla fine nulla di personale...
E' pur vero che allora di TECNICO i partecipanti avevano di che dire... eccome.
 
@Alex

 dire... eccome.
 
Già 
Io sono arrivato tardi ma qualcosa ho intravisto :-) 
 


 
 
Meglio ancora il clone di Biso ... che poi era praticamente uguale 
all'originale (si capiva che qualcosa non tornava perchè uno dei due, a 
volte entrambi, andavano su tutte le furie!)     ;-))
 
Saluti. 
 
 

Simone Calligaris formulated the question :

Del tipo:
Dim strDriveName As String, objFSO As Object, vsrJ As Variant
che stucchevole prolissità...
 
in luogo di:
DriveName As String, FSO As Object, J
o ancor più semplicemente:
DriveName As String, FSO, J
 
Bruno

 che stucchevole prolissità...
 
Argh ! Mo allora me meni :-)  
 
perche' io avrei scritto cosi : 
 
Dim strDriveName as string  ' nome del drive che ... 
Dim objFSO       as Object  ' ... 
Dim vsrJ         as variant ' contatore drives 
 
:-) 
 
Dici : so fissato. E' vero. E questo è niente. Per es. se dovessi
scrivere un codice cosi : 
 
do while not RCS_prodotti.eof 
   if RCS_prodotti.fields("codice") = '001' and  _
      RCS_prodotti.fields("codice") = '002' and _ 
      RCS_prodotti.fields("codice") =  '003' or 
      (insomma una condizione molto complessa) 
 
           ' fai questo 
   else 
           ' fai quest' altro
   endif
   RCS_prodotti.movenext
 
loop   
 
Avrei scritto 
 
do while not RCS_prodotti.eof 
 
   if codici_campo_idonei(RCS_prodotti) 
 
           ' fai questo 
   else 
           ' fai quest' altro
   endif
   RCS_prodotti.movenext
 
loop   
 
end sub 
 
function  _
         codici_campo_idonei _
         (byval RCS as recordset)  _
         as boolean
 
  ' qui dentro il bordellone della condizione complessa
 
end function 

 DriveName As String, FSO, J
 
 
Beh, come in tutte le cose ci sono vantaggi (reali) e svantaggi (reali pure 
quelli).
 
A parte la prolissità, in passato ho perso troppo tempo con le 
"ridenominazioni": quante volte ho dovuto convertire (per mutate esigenze 
dei clienti) TextBoxes in Combos, Radio Button in Pulsanti d'opzione, 
Etichette in caselle di testo, Combo in Listboxes e tutti i possibili 
viceversa...
 
Ogni volta a rompermi i maroni a correggere i prefissi di tali oggetti nel 
codice ... bah.
 
Saluti. 
 
 


 
Nessuno dice che tu debba cambiare abitudini: va bene cosě.
Ma non pretendere di far cambiare idea a chi la pensa diversamente, magari 
gente con qualche decennio d'utilizzo del prodotto in piů di te.
 
Saluti. 
 
 

Salve Simone,
 
Simone Calligaris ha scritto:

Prolissità e la necessità di eventualmente dover cambiare il prefisso 
sono i due soliti argomenti contro la notazione ungarese (HN), p.e. 
anche dall'iniziativa agile Clean Code di Robert C. Martin. Per me e con 
Access, VBA (e l'ambiente VBE) non valgono molto perché:
 
1) Cambio il tipo di controlli o variabili raramente. In caso che lo 
faccio grazie alla "profondità" della HN nel VBE posso usare F&R più 
precisamente e mi costa pochi secondi di cambiare un prefisso.
 
2) Gran parte del mio lavoro sono revisioni di (e soccorsi per) 
applicazioni di altri sviluppatori di ogni tipo e livello che spesso 
scrivono moltissimo codice. Per me è molto più chiaro, veloce, 
efficiente di leggere codice "esplicito" dove non è necessario di 
consultare la dicchiarazione ecc. per controllare il tipo degli oggetti 
e variabili.
 
Per il proprio lavoro puo dipendere di cosa si è abituato, ma a 
proposito di manutenzione (che in ambiente professionale dovrebbe 
includere da altri) secondo la mia esperienza brevità estrema (che puo 
sembrare "elegante") e spesso particolarità senza osservare almeno parte 
dello standard (per Access/VBA = L&R) spesso anche senza ogni proprio 
regolamento sono impeditive, costano tempo e soldi.



Assolutamente non pretendo nulla. Assolutamente. Te lo ripeto : io
sto qua per scambiare idee ed imparare. E magari anche per farci 2
risate in grazia di Dio ogni tanto, perchè no ? :-) 
 
Non mi giudicate per quello che non sono. Vi prego. 

 regolamento sono impeditive, costano tempo e soldi.
 
 
 
Hai descritto i vantaggi della notazione ungherese, percepiti soprattutto da 
chi la usa da molti anni.
In realtà un utilizzo coerente di tale notazione appesantisce la leggibilità 
almeno quanto la "brevità estrema".
 
Ex:   Campo PrezzoUnitario in Tabella Righe: 
DblPrezzoUnitario     (o Dbl_PrezzoUnitario)
         TextBox in Form/Rpt su PrezzoUnitario: 
TxtDblPrezzoUnitario     (o Txt_Dbl_PrezzoUnitario)
 
Insomma ... (pensa ad un non "accessista" che s'approcciasse alla lettura di 
una cosa del genere).
 
Saluti da Simone
 
P.S: Con le vecchie versioni di Access rinominare i prefissi degli oggetti 
in un'applicazione era problematico (pensa ai riferimenti nelle queries 
salvate, nei campi calcolati...), in quelle più recenti non so. Ma non credo 
esista qualcosa di nativo ed affidabile per fare ciò: di certo l'autocorrect 
era un disastro.
 
 

Aggiungo una considerazione, sempre per esperienza personale e non per verità assoluta.
 
Tutte le considerazioni PRO/CONTRO la notazione ungherese e le diciarazioni STANDARD hanno un senso estremamente personale se si lavora 99% dei casi su applicazinoi PROPRIE oggi o tra 10 anni e se lo si fa in modo autonomo.
 
Risulta chiaro che ognuno se la fa e se la gestisce come meglio si trova finchè non deve confrontarsi con altri...
 
Alcune volte, capitano tuttavia situazioni che se non hanno REGOLE PRECISE alla fonte mettono in crisi, nel senso che contribuiscono a perdere tempo, perchè è evidente che DANNI non se ne fanno con l'argomento di cui parliamo.
 
Mi è capitato, come dice KARL di fare manutenzione ad applicativi sviluppati da altri, e Karl ha ragione quando dice che sono pieni di codice, ma, contrariamente a chi il codice lo sa scrivere, chi ha poca esperienza scrive codice a profusione senza che questo abbia schemi di ottimizzazione razionali.
Mettere mano a qualcosa come 10000 righe di codice per fare debug potrebbe generare un po di orticaria...
 
Altro aspetto è quando si lavora in TEAM...!
Anche in questo caso, se non viene rispettata una regia di sviluppo allora si che le applicazioni si mettono assieme con la colla... ed in questo caso l'utilizzo di regole come la notazione ungherese possono, pur rompendo le scatole a tutti, mettere in accordo tutti.
 
Oggi che gioco e basta con questo attrezzo e scrivo codice solo per me, mi posso permettere di soddisfare il mio senso dell'estetica non dovendo mangiare con quello che scrivo... quindi inserisco anche commenti stupidi...(scherzo).
 
Di fatto definisco il mio codice "PETTINATO"... da un detto romano... "PETTINARE LE BAMBOLE"... 
 
Un saluto ai nostalgici.
 
@Alex


 
Quando mai hai *pettinato le bambole* ? se eri sempre a *cogliere 
margherite* ?
Io sono *oltre* ormai di access vedo solo il NG!


 una cosa del genere).
 > ...
 
Personalmente non l'uso sul livello dei campi nelle tabelle ma solo per 
oggetti di Access (tabelle, query ecc.), controlli e codice. La ragione 
non è solo che persino per me è troppo diffile di leggere ;-) ma anche 
che qualche volta si cambia da ACE ad un sistema server, di solito MS 
SQL Server, dove quasi tutti tipi di dati sono/si chiamano diversamente.



Che precisini.
  Io mi limito a a prefissare con una lettera il /tipo/ di variabile.
Discorso diverso e' per i nomi dei controlli ma, in genere, se si
  modifica il tipo del controllo una occhiata al codice bisogna darla
e modificare i nomi diventa una conseguenza.
 
P.S.
Poiche' sono un ignavo la quasi totalita' delle mie variabili sono 
prefissate *v*


 Server, dove quasi tutti tipi di dati sono/si chiamano diversamente.
 
 
Con questa risposta mi hai prevenuto Karl, già stavo pensando di divertirmi 
con qualche esempio Server (NVarChar, Text, etc.)
Ad ogni modo sai bene che gli *ungheresi* duri e puri (e in termini di 
coerenza hanno ragione) includono nella notazione i campi.
 
Saluti. 
 
 


 
 
Tuttavia io ho quasi sempre lavorato in Team (ho soci e collaboratori da 
tanti anni) e CON (i primi tempi) o SENZA la notazione ungherese ci si è 
sempre capiti benissimo.
Chiaro che i nomi dei campi e delle variabili vanno fissati con buonsenso: 
non chiamerei un campo PrezzoUnitario, che so:   PzU
 
Detto questo ribadisco la mia scarsa empatia, motivata da esperienza di 
lavoro individuale e collettivo, verso la notazione ungherese.
Non dico che NON vada bene, può andar benissimo, dico che a me non piace e 
non convince, come a tanti altri del resto.
 
Saluti da Simone
 
 

 e modificare i nomi diventa una conseguenza.
 
?
 
Se cambi la textbox:
 
txtPincoPallino
 
in Combo, dovrai rinominarla
 
CboPincoPallino
 
Ma se non hai usato prefissi ungheresi, non dovrai cambiare un fico secco.
 
Saluti. 
 
 


 
  Infatti, che io mi ricordi, di fichi secchi ne ho cambiati pochissimi.
Con la eccezione di quando ho *rasoiato* qualche applicazione fatta
da gente alle prime armi (si vedeva).
 
Fermo restando che la notazione ungherese da una *guida* da non
sottovalutare.
E che *gente allae prime armi* , talvolta, mia ha /piacevolmente/ sorpreso.


 Fermo restando che la notazione ungherese da una *guida* da non
 
Mi scuso /ungarese/ Karl docet ;-)



Io ad esempio, i controlli associati li chiamo esclusivamente come i Campi a cui sono associati... e per chi è veloce a capire la comodità di riferirsi sal nome controllo al Nome campo del Recordset non è cosetta da nulla...
 
i controlli non associati invece uso il prefisso.
 
Ma si via alla fine molto lo fa l'abitudine e la pratica.
 
@Alex

 Un saluto ai nostalgici.
Io sono un nostalgico, sono stato Figlio della Lupa...
 
Non ho mai lavorato in team e il mio primo istruttore
è stato il manuale di Access Basic (il VBA non esisteva
ancora), distribuito con la prima versione di Access.
Precedenti? Quick Basic 4.5 e Assembler dello Z80.
 
Raramente scrivo qualche annotazione nel codice e non
passano 15 giorni da quel che ho scritto, che non mi
raccapezzo più.
Trovo orrendo il codice che scrive la MS, mentre mi
sembra arabo quello scritto da altri.
 
Dottore... sono molto grave?
 
Bruno


Io mi troverei d' accordo ma (dal mio punto di vista) usare o non usare
la famosa notazione Ungherese non fa esattamente parte di quello che io
chiamo "stile". 
 
Lo stile è qualcosa di (azzarderei) "quasi impalpabile". 


 
 
E' beh, in tal caso Alessandro tu utilizzi un dialetto ungherese che i 
puristi attaccherebbero duramente...
 
Saluti da Simone 
 
 

 Saluti da Simone
 
Lo so, ma io di ungherese conosco solo il salame... eheheh...
 
Ciao Simone
 
P.S. (Se hai modo di sentire Silvio, fai un saluto sono anni che non lo sento)
 
@Alex

 sento)
 
 
Penso che ultimamente stia lavorando parecchio a livello web: comunque gli 
farò uno squillo per ricordargli che esiste ancora icaa  ;-)
 
Saluti da Simone
 
 

 Mi scuso /ungarese/ Karl docet ;-)
 
*§$%&*


Oh sono anni che manco da questo NG e non vi siete mossi di una virgola
 
;-D
Saluto tutti con affetto e nostalgia
MA
 
p.s. ma i NG non dovevano morire??

 ... p.s. ma i NG non dovevano morire??
 
In teoria sì, in pratica per icaa un mese come questo con >400 messaggi 
(finora) non l'avemo avuto da anni.
 
Doveva morire ca. come Access... ed io nel frattempo faccio la 
conferenza per Accessisti in 3 città di Germania. Per il prossimo anno 
rifletto anche su una conferenza europea in inglese a Vienna.



E allora ci veniamo tutti!
Un saluto ai nostalgici, tra i quali mi metto pure io.
 
Karl se facciamo una CISA in autunno ci sei???


;-D

 Karl se facciamo una CISA in autunno ci sei???
 
Se lo scriveresti domani...
 
-- 
:-)


 Scusate lo sfogo
 
Un caro saluto a tutti, Mangiatori Di Quiche o Veri Programmatori.
 
La storia dello stile posso capirla; mi è capitato di vedere soluzioni che ho trovato "eleganti" e questo prescinde dal modo in cui si nominano le variabili: ricordo di avere letto, su una rivista per lo Spectrum, il consiglio di usare nomi brevi per risparmiare byte. Però non me saprei dare una definizione, solo potrei dire che apprezzo molto la concisione.
 
La prima volta in cui mi cimentai in un programma (inconcludente e mal fatto) in linguaggio macchina non potei esimermi dal modificare il codice durante l'esecuzione, sfruttando le caratteristiche dell'assembler Z80. Non  so se è elegante, ma è sicuramente artistico.
 
Ultimamente ho notato che faccio le cose in maniera migliore di una volta, benché con limitazioni dovute alla scarsa preparazione. Mi sembra di essere più conciso. Questo però potrebbe essere un problema per chi dovesse un giorno mettere mano al mio lavoro.
 
Non uso i nomi standard per scelta estetica, credo però che in genere il tipo di aggeggio sia chiarito dal codice (sbaglierò...).
 
Trovo faticoso il codice che rimanda a mille Sub che magari non fanno altro che valorizzare una variabile, però mi piace enucleare pezzi di codice non appena mi rendo conto che servono lavori simili in più occasioni. C'è però da passare più valori per determinare le differenze e questo potrebbe rendere più difficile la comprensione. Intendo una cosa tipo:
call funz(val1, val2, val3, val4)
anziché
call funz1(val),
call funz2(val),
call funz3(val),
call funz4(val)
chiamate in punti diversi.
 
Mi sono anche divertito a fare cose così
Call Eval("fScrivi" & Forms!Stato!cosa & "()")
è elegante o grida vendetta?
 
Qualche volta mi piacerebbe prendere IL PIÙ PAZIENTE DI VOI e fargli vedere i miei programmini per imparare qualcosa (ma dovrebbe avere pietà...).
 
A proposito del lavoro in squadra. Mio fratello dice che un applicativo dove lavora richiede tre date e una va scritta con le sole cifre, una con le barre e l'altra coi trattini...
 
Nel mio piccolo, mi sono ritrovato in cose come queste:
https://www.arcetri.astro.it/~comore/true_programmer.txt
 
 
Ciao
Riccardo Baldinotti