Quando qualcosa è obsoleto e meglio dirlo

di Stefano Mostarda, in .NET,

Quando si sviluppano progetti, vengono create molte classi per gestire ogni tipo di problematica. Passando per nuove versioni del progetto spesso accade che metodi, proprietà, interfacce, o altro debbano essere modificate o addirittura eliminate.
A questo punto ci sono 2 possibilità:

  1. Cancellare il "vecchio" codice delle classi e rivisitare tutto il codice chiamante.
  2. Marcare il "vecchio" codice come obsoleto e sollevare un'eccezione solo in caso di chiamate a metodi che genererebbero errori.
Prendiamo come esempio un metodo presente in una classe che viene spostato in un'altra classe. Se questo viene cancellato, il codice chiamante va modificato altrimenti non viene compilato; se invece il codice viene marchiato come obsoleto il compilatore genera un warning o un errore a seconda della scelta di chi scrive il metodo.
Nel caso, invece, di un metodo che viene sostituito da un altro e che genera errori a run-time se chiamato, conviene cancellarlo o marcarlo come obsoleto e generare un errore in compilazione.

Per marcare qualcosa come obsoleto si usa l'attributo Obsolete:
[Obsolete(string Messaggio, bool SollevaErrore)].
Il primo parametro indica il messaggio che il compilatore visualizza, il secondo indica se il compilatore solleva un errore o meno.

Personalmente credo che il metodo migliore sia quello di usare l'attributo Obsolete perchè, si è in grado di dare informazioni allo sviluppatore su come comportarsi in caso si incappi in metodi obsoleti permettendogli così di correggere, con maggior velocità, sia warning che errori.

Ecco dimostrato un altro caso di successo nell'uso degli attributi. :)

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese