PDA

View Full Version : [VB.Net 2010] Curiosità su "Esegui Analisi del codice"


Ludo237
10-12-2010, 18:20
Ciao a-rieccomi :ciapet:

Proprio 5 minuti fa ho provato ad eseguire il comando "Esegui analisi del codice" su Visual studio 2010 , il codice ovviamente è la mia applicazione che sto sviluppando.

ho notato che ci sono ben 62 Avvisi ... tutti rigurdano a classi o metodi , sopratutto il piu citato è :

Avviso 47
CA2000 : Microsoft.Reliability : Nel metodo 'NomeApp.InviaEmail(String, String)' chiamare System.IDisposable.Dispose
sull'oggetto 'Nemail' prima che tutti i relativi riferimenti siano esterni all'ambito.
C:\***\**\**\Visual Studio 2010\Projects\NomeApp\NomeApp\NomeApp.vb


questo è un esempio dei 62 errori .. molti altri riguardano invece i dataset dei miei due DB access , in particolar modo il dataset.designer come questo qua :

Avviso 44
CA1405 : Microsoft.Interoperability : 'smsgatewayserver42DataSet.TASKSENDERFILTERDataTable' è contrassegnato ComVisible(true)
ma contiene i seguenti tipi ComVisible(false)
nella gerarchia di oggetti: 'TypedTableBase(Of smsgatewayserver42DataSet.TASKSENDERFILTERRow)', 'DataTable'
C:\***\***\***\Visual Studio 2010\Projects\NomeApp\SmsPanel\smsgatewayserver42DataSet.Designer.vb
6087

Oppure,sempre sui dataset , ci sono errori del tipo :


Avviso 27
CA2240 : Microsoft.Usage : Aggiungere un'implementazione di
GetObjectData al tipo 'smsgatewayserver42DataSet.PHONEBOOKDataTable'.
C:\***\***\***\Visual Studio 2010\Projects\NomeApp\NomeApp\smsgatewayserver42DataSet.Designer.vb 3108


sono questi i 3 errori , sparsi per molte variabili (tabelle dei due dataset)


io ho visto e ho pensato W.T.F.????:confused: :confused:

MarcoGG
10-12-2010, 20:00
Esegui analisi del codice permette di rilevare molte "imperfezioni" dell'applicazione esaminata.
Non si tratta di "Errori", ma di caratteristiche negative che possono risolversi in malfunzionamenti durante l'esecuzione, come errori logici, risorse non rilasciate ecc...

Qui trovi la tabella completa dei codici warnings :
http://msdn.microsoft.com/it-it/library/dd380629.aspx

Questa è una funzionalità introdotta con VS2010.
Al momento viaggio con 2008, perciò non posso essere molto preciso.

Spesso il numero massimo di warning riguardano sempre mancate chiamate esplicite a Dispose() su oggetti che implementano IDisposable.
Ti invito, come ho già fatto N volte con chi è agli inizi ( mi pare parlassi di un mesetto... ) a NON usare wizard e procedure guidate di VS.
Scrivi codice, anche prolisso, e ricorda che con i blocchi Using puoi risolvere alla radice una gran quantità dei rischi di lasciare in giro per l'applicazione oggetti che "non servono più"...

Ludo237
10-12-2010, 21:48
Esegui analisi del codice permette di rilevare molte "imperfezioni" dell'applicazione esaminata.
Non si tratta di "Errori", ma di caratteristiche negative che possono risolversi in malfunzionamenti durante l'esecuzione, come errori logici, risorse non rilasciate ecc...

Qui trovi la tabella completa dei codici warnings :
http://msdn.microsoft.com/it-it/library/dd380629.aspx

Questa è una funzionalità introdotta con VS2010.
Al momento viaggio con 2008, perciò non posso essere molto preciso.

Spesso il numero massimo di warning riguardano sempre mancate chiamate esplicite a Dispose() su oggetti che implementano IDisposable.
Ti invito, come ho già fatto N volte con chi è agli inizi ( mi pare parlassi di un mesetto... ) a NON usare wizard e procedure guidate di VS.
Scrivi codice, anche prolisso, e ricorda che con i blocchi Using puoi risolvere alla radice una gran quantità dei rischi di lasciare in giro per l'applicazione oggetti che "non servono più"...


in sostanza .. me ne frego ?:Prrr:

MarcoGG
10-12-2010, 22:16
in sostanza .. me ne frego ?:Prrr:

Non sarò certo io a confermare la tua blasfemia, :D , ma nella fase di start-up in cui sei diciamo che sono cose che "imparerai a mettere a posto più avanti"... ;)

Ludo237
11-12-2010, 00:04
Non sarò certo io a confermare la tua blasfemia, :D , ma nella fase di start-up in cui sei diciamo che sono cose che "imparerai a mettere a posto più avanti"... ;)

questo è un anno di transizione tra superiori ed universita dove sto cercando di imparare il piu possibile , e a volte -->:muro:

perciò dai per ora chiudo un occhio su questi problemi, anche perchè non sviluppo applicazioni per chissa quale utenza D: