ID: Cancellazione variabili inutilizzate
copia linkDescrizione
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