Autore Topic: Dichiarazione automatica di una variabile locale non dichiarata  (Letto 4632 volte)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Dichiarazione automatica di una variabile locale non dichiarata
« Risposta #15 il: 05 Settembre 2012, 12:45:42 »
....ed infatti ho la risposta sensata di lui:

«Mmm... ok.

--
Benoît Minisini
»

Potenza della nostro... Corpo diplomatico8)

"Potenza" un corno  :evil: ! Ho verificato che quella funzionalità di dichiarazione automatica - ad oggi - non è disabilitata in partenza ! Quindi Minisini non ha provveduto alla modifica.  :violent:
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Dichiarazione automatica di una variabile locale non dichiarata
« Risposta #16 il: 05 Settembre 2012, 13:32:35 »
Già... ho già bestemmiato tutti i santi conosciuti e non, poi mi sono ricordato di questa discussione...  :hard:

Erano iniziati comportamenti bizzarri, notati con scrolling anomali dello schemo. Mi sono incuriosito e ho notato subito qualcosa che non andava nelle dichiarazioni...

Il bello che, di solito, metto una label a caso (es. pippo) in mezzo al codice, nel punto su cui stò lavorando, in modo che il compilatore mi dia errore e mi si posizioni sulla riga per poter continuare a scrivere.
'Stà cosa è saltata, quanto gambas ha deciso di autodichiarare la variabile "pippo", sboccando quindi la compilazione, e non ritrovandomi più nella riga voluta.

Io credo che, dato che la dichiarazione di variabili, è un pezzo importante, anzi quasi basilare, in questo linguaggio (anche in altri...), il fatto che venga fatto automaticamente lo trovo alquanto pericoloso.

Già l'autocompletamento a volte, per svista, potrebbe introdurre errori (es. nomi molto lunghi e simili), ma è legato alla funzionalità che ti fà vedere al contempo la lista dei riferimenti e proprietà di un'oggetto e l'help relativo. Ad ogni modo anche questa funzione può essere disabilitata, ma a differenza della prima, crea meno danno.

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Dichiarazione automatica di una variabile locale non dichiarata
« Risposta #17 il: 05 Settembre 2012, 13:42:55 »
Io credo che, dato che la dichiarazione di variabili, è un pezzo importante, anzi quasi basilare, in questo linguaggio (anche in altri...), il fatto che venga fatto automaticamente lo trovo alquanto pericoloso.
Come sai, anche io ho dichiarato la estrema pericolosità di quella funzionalità  :hatecomputer: , poiché - appunto - ti scippa il controllo che dovresti avere sul processo del codice; e quello che hai tu raccontato sopra è la prova provata.

Purtroppo, Minisini (l'ho constatato più volte a mie spese) è a volte un po' intrattabile. Quindi ho provveduto ad inviare un messaggio nella mailing listi internazionale per sapere semplicemente almeno come "disabilitare" quella stronzata (dato che lui aveva scritto che si poteva disabilitare).

....chissà se lui fra un po' implementerà anche una super-funzione che intuisce il progetto che vuoi scrivere, e te lo scrive lei senza che tu muovi un dito ?!   :hard:
« Ultima modifica: 05 Settembre 2012, 13:48:58 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Dichiarazione automatica di una variabile locale non dichiarata
« Risposta #18 il: 05 Settembre 2012, 15:18:45 »

Preferenze ---> Code Formatting...
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Dichiarazione automatica di una variabile locale non dichiarata
« Risposta #19 il: 05 Settembre 2012, 15:34:10 »
Bravo sotema, mi ero dimenticato di indicarlo io, pensavo che vuott avesse già idea di come fare...

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Dichiarazione automatica di una variabile locale non dichiarata
« Risposta #20 il: 05 Settembre 2012, 16:14:48 »
Bravo sotema, mi ero dimenticato di indicarlo io, pensavo che vuott avesse già idea di come fare...
No. Non me ne sono mai più curato, in quanto pensavo che Minisini avesse impostato di default quella funzionalità come disabilitata.
Grazie sotema.


Nel frattempo hanno risposto pure al mio messaggio, confermando le indicazioni di sotema. Un tipo ha allegato anche un'immagine esplicativa, che qui allego:
« Ultima modifica: 05 Settembre 2012, 16:19:45 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline pastrank

  • Maestro Gambero
  • ****
  • Post: 265
    • Mostra profilo
Re: Dichiarazione automatica di una variabile locale non dichiarata
« Risposta #21 il: 05 Settembre 2012, 16:48:39 »
Ho verificato che quella funzionalità di dichiarazione automatica - ad oggi - non è disabilitata in partenza ! Quindi Minisini non ha provveduto alla modifica.  :violent:

Tanto varrebbe evitare pure la dichiarazione, in stile bash, a quel punto... gia' mi vengono fuori un sacco di errori quando scrivo male il nome di una variabile che ho dichiarato, figurati se poi devo andare a ricancellarne un'altra in cima alla procedura.

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Dichiarazione automatica di una variabile locale non dichiarata
« Risposta #22 il: 05 Settembre 2012, 17:12:09 »
"Potenza" un corno  :evil: ! Ho verificato che quella funzionalità di dichiarazione automatica - ad oggi - non è disabilitata in partenza ! Quindi Minisini non ha provveduto alla modifica.  :violent:
...guarda che se tu parti con una configurazione vuota (Vuott)  ;D , intendo dire un bel $rm ~/.config/gambas3/gambas3.conf, e vai a vedere l'impostazione di quel parametro nelle preferenze, esso risulta impostato a NO! Quindi Minisini ha fatto ciò che gli hai suggerito. Probabilmente a te è rimasto impostato a SI perchè così era in origine e tu, per tua stessa ammissione,
No. Non me ne sono mai più curato, in quanto pensavo che Minisini avesse impostato di default quella funzionalità come disabilitata.
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Dichiarazione automatica di una variabile locale non dichiarata
« Risposta #23 il: 05 Settembre 2012, 18:10:11 »
...guarda che se tu parti con una configurazione vuota (Vuott)  ;D , intendo dire un bel $rm ~/.config/gambas3/gambas3.conf, e vai a vedere l'impostazione di quel parametro nelle preferenze, esso risulta impostato a NO! Quindi Minisini ha fatto ciò che gli hai suggerito. Probabilmente a te è rimasto impostato a SI perchè così era in origine e tu, per tua stessa ammissione,
No. Non me ne sono mai più curato, in quanto pensavo che Minisini avesse impostato di default quella funzionalità come disabilitata.
Verificherò stasera meglio.
Quando ho notato quel problema, avevo aperto un progetto nuovo !
« Ultima modifica: 05 Settembre 2012, 18:15:17 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Dichiarazione automatica di una variabile locale non dichiarata
« Risposta #24 il: 05 Settembre 2012, 23:01:28 »
Verificherò stasera meglio.
Quando ho notato quel problema, avevo aperto un progetto nuovo !

Allora, ho fatto la verifica... accade una cosa strana: la dichiarazione automatica della variabile, non dichiarata a priori, viene comunque inserita, sia se pongo a NO l'opzione indicata da sotema, sia se la pongo a SI !  :rolleyes:
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Dichiarazione automatica di una variabile locale non dichiarata
« Risposta #25 il: 06 Settembre 2012, 11:08:42 »
Non è possibile, l'ho fatto io stesso e la cosa viene disabilitata veramente.

Per pastrano:
io avrei abbandonato subito gambas, se non era presente la sintassi della dichiarazione obbligatoria delle variabili. A parte che proveniendo dal C/C++, questa logica è obbligatoria, io comunque amo avere il controllo di quello che scrivo e dell'esecuzione dell'applicazione. Non voglio assolutamente che una qualche variabile di cui non ho il pieno controllo vadano a rompere le scatole in giro. Anche l'ambito in cui sono valide deve essere ben definito.

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Dichiarazione automatica di una variabile locale non dichiarata
« Risposta #26 il: 06 Settembre 2012, 13:40:14 »
Non è possibile, l'ho fatto io stesso e la cosa viene disabilitata veramente.
Non metto per niente in dubbio che a te si comporta così; però ho riprovato ancora stamane, aprendo un nuovo progetto ed assegnando quindi un valore numerico ad una variabile senza pre-dichiararla. Ebbene, l'IDE mi ha dichiarato quella variabile all'inizio della routine. Sono andato a vedere l'impostazione della funzionalità in questione, ed essa era impostata su "NO".

Non so cosa dire  :-\ , se non che Minisini - comunque sia - ci poteva risparmiare 'sta fesseria.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline pastrank

  • Maestro Gambero
  • ****
  • Post: 265
    • Mostra profilo
Re: Dichiarazione automatica di una variabile locale non dichiarata
« Risposta #27 il: 06 Settembre 2012, 14:55:17 »
io avrei abbandonato subito gambas, se non era presente la sintassi della dichiarazione obbligatoria delle variabili.

Oh, tra l'altro mi sembrava anche di avere letto in tempi remoti da parte di BM dichiarazioni "filosofiche" sull'argomento che non lasciavano intendere dubbi, per distaccarsi dal vb-pensiero. VB, se lo ricordi, non e' che fosse incapace di produrre buoni programmi, e' che per l'eccessiva permissivita' (e facilita' d'uso), permetteva piu' facilmente di produrne di pessimi, anche a causa di "option explicit". Ora, probabilmente in questo caso la cosa e' nata o per una gratificazione personale nella scrittura dell'ide, o per un uso personale che ne fa, non mi pare ci sia da drammatizzare :-)
Resta il fatto che dico comunque grazie a BM (anche con Paypal) per un lavoro che reputo superiore a quello del vecchio VB: sara' anche un lavoro piu' semplice dato il s.o. sottostante, pensa solo alla velocita' con cui listi i file con Rdir e al modo in cui VB lo faceva (ovvero, se non andavi di funzioni Windows ci invecchiavi), ma al reparto MS-VB lavoravano fulltime decine di persone...

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Dichiarazione automatica di una variabile locale non dichiarata
« Risposta #28 il: 06 Settembre 2012, 15:39:22 »
Citazione
Oh, tra l'altro mi sembrava anche di avere letto in tempi remoti da parte di BM dichiarazioni "filosofiche" sull'argomento che non lasciavano intendere dubbi, per distaccarsi dal vb-pensiero. VB, se lo ricordi, non e' che fosse incapace di produrre buoni programmi, e' che per l'eccessiva permissivita' (e facilita' d'uso), permetteva piu' facilmente di produrne di pessimi, anche a causa di "option explicit".

Infatti, è proprio qui il punto, i programmi scritti in modo "inconsapevole" hanno generato una filosofia che si è allargata in modo esponenziale, ed è tuttora la principale causa dei pessimi programmi che vedo ogni giorno nascere.
Non voglio fare il classista, ma ora chiunque può scrivere due righe di codice, e dire di saper programmare. Un tempo non era così, e si badava più ad avere più controllo sul comportamento di un programma, piuttosto che sull'obiettivo cui era stato ideato. Forse così il discorso sembra fuorviante, ma se ci pensate, è la verità.

Ad ogni modo, il discorso sull'impostazione, o sulle impostazioni, fatte su gambas sono anche derivate da scelte personali, dopotutto è un progetto open-source, e il creatore può decidere cosa farci sopra. Il mio suggerimento era piuttosto per il fatto che certe utility le considero abbastanza inutili, rispetto invece all'integrazione di opzioni più mirate al buon funzionamento del linguaggio.

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.269
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Dichiarazione automatica di una variabile locale non dichiarata
« Risposta #29 il: 06 Settembre 2012, 15:57:15 »
.... certe utility le considero abbastanza inutili, rispetto invece all'integrazione di opzioni più mirate al buon funzionamento del linguaggio.

Sono pienamente d'accordo.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »