English
Instant Developer Foundation Documentazione
  • Note di rilascio
  • Instant Developer Foundation
  • Versioni precedenti
  • Versione 8.5.3800
  • Novità

ID: Cancellazione variabili inutilizzate

copia link

Descrizione

E' ora possibile rimuovere le variabili inutilizzate presenti nel progetto. E' possibile attivare questa funzionalità selezionando l'apposita voce presente nel menù contestuale dell'applicazione, delle videate o della singola procedura. Se il comando viene attivato sull'applicazione verranno rimosse tutte le variabili inutilizzate in qualunque procedura dell'applicazione; se viene eseguito su una videata verranno rimosse le variabili inutili in qualunque procedura contenuta nella videata.

Funzionalità interessate

L'eliminazione delle variabili non utilizzate in un progetto Instant Developer.

Note

  • Le variabili NEW e OLD contenute nei Trigger non vengono mai eliminate anche se non utilizzate.
  • I parametri degli eventi non vengono mai eliminati.
  • Non viene effettuato un controllo sui parametri delle funzioni che corrispondono a funzioni di interfaccia.
  • Qualora una variabile di cursore di un For-Each non sia stata utilizzata Instant Developer verifica se è necessario conservare la colonna della query a cui la variabile di cursore è collegata. Tale colonna viene eliminata solo se la query del For-Each non contiene GROUP BY su una qualunque colonna della query o una ORDER BY sulla colonna associata alla variabile di cursore inutilizzata. In questi due casi, infatti, eliminare la colonna della query cambierebbe il risultato della query. Inoltre se il For-Each è scrivibile non vengono eliminate colonne collegate a chiavi primarie della tabella presente nella from list della query del For-Each. Se non si presenta nessuno di questi casi viene eliminata la colonna della query e quindi la variabile ad essa collegata. Altrimenti viene segnalato il messaggio di warning "1452 - Questa variabile non viene utilizzata: dovresti eliminarla" che indica che la variabile di cursore è inutilizzata ma è richiesto l'intervento del programmatore per capire se la corrispondente colonna della query è anch'essa inutile.
  • Non vengono mai eliminate proprietà di documento collegate al database, anche se non utilizzate. Non vengono eliminate nemmeno collection di documenti anche se non collegate a foreign-key del database.
  • Vengono eliminati i parametri non utilizzati di procedure e funzioni a meno che queste non appartengano ad una classe estesa e che estende altre classi. Nel caso di estensione Instant Developer controlla che non esistano classi base o classi che estendono la classe corrente che abbiano metodi con lo stesso nome e con lo stesso numero e tipo di parametri. In questo caso il metodo non può essere toccato in quanto "si sovrappone" al metodo della classe base o a quello di una delle classi che estende quella corrente.
  • Qualora la variabile sia stata solo inizializzata e non direttamente utilizzata viene eliminata solo se nell'espressione di inizializzazione non sono presenti chiamate a funzione. Per esempio l'espressione
       String ua := CalcolaNome(ONE)
    
    non viene automaticamente eliminata anche se la variabile ua non è utilizzata. In questo caso viene generato il messaggio di warning "1452 - Questa variabile non viene utilizzata: dovresti eliminarla" poiché se Instant Developer eliminasse la variabile non verrebbe più effettuata la chiamata a tale funzione.

Ultima modifica: 03/10/2009 / Validità: da 8.5.3800

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum