Uso delle region in Visual Studio

Con l'arrivo di  VS2003 MS ha introdotto le region all'interno dell'IDE.
Non sono mai stato un grande utilizzatore di questa feature ma troppo spesso la vedo utilizzata nel modo sbagliato.
Quasi sempre sono usate per separare le proprietà dai metodi privati , dai metodi pubblici, dai costruttori, ecc…
Quindi apro una classe e vedo:



Che valore mi danno quelle region? NESSUNO!
Non sarebbe meglio suddividere il codice invece che per visibilità o tipo di elemento per funzionalità (metodi che fanno questo, metodi che fanno quello)?
Sarebbe un primo passo. Poi se la classe è ben disegnata e scritta in modo elegante ci accorgeremmo che le region non servono .

Print | posted on sabato 1 dicembre 2007 9.49

Comments on this post

# re: Uso delle region in Visual Studio

Requesting Gravatar...
Le region servivano prima dell'introduzione delle classi parziali a separare il codice generato dal designer dal nostro.
Altra cosa... le region te le crei, con le apposite direttive, come vuoi tu, quindi... non vedo dove sta il problema.
Left by Lorenzo Barbieri on dic 01, 2007 11.12

# re: Uso delle region in Visual Studio

Requesting Gravatar...
Secondo me le region sono utili anche se hai una classe "troppo lunga" e vuoi darne una visione compatta, creando una distinazione al suo interno per funzionalità.
Left by Marco Minerva on dic 01, 2007 11.20

# re: Uso delle region in Visual Studio

Requesting Gravatar...
Secondo me le region nascondo un problema : codice troppo lungo nei metodi o troppo propietà, che dovrebbero indurre a scorporare la classe in elementi più semplici.

Le region scritte per questo motivo mi fanno pensare agli struzzi :-)
Left by Roberto Valenti on dic 01, 2007 1.08

# re: Uso delle region in Visual Studio

Requesting Gravatar...
Per me non sfruttate l' IDE di VS visto che le region vengono anche rappresentate da un singolo construtto che è comunque espandibile ad albero. Come in eclipse. E vi garantisco che quando si ha a che fare con classi che hanno, magari, 30 properties, 30 field private e una 10ina di metodi, beh avere il codice suddiviso è solo una comoda funzionalità, sia in VS che in Eclipse!!
:-)
Poi che una classe sia troppo lunga ... questa è proprio nuova!!
:-)
Left by raffaeu on dic 01, 2007 4.59

# re: Uso delle region in Visual Studio

Requesting Gravatar...
Uhmmm allora togliamo anche i commenti, e i commenti descrittivi /// (C#) ''' (VB.Net), insomma tutto ciò che permette di ordinare in maniera valida il codice?.
Io penso che siano molto utile, visto che in quest'ultimo progetto (uno tra i più importanti d'Italia) ne faccio largo uso, visto anche il numero elevato di righe di codice (circa 2 milioni ) .
Quella region a dire il vero è buona, inoltre ricordo che un buon programma, deve seguire alcune regole importanti (commento nel codice , leggibilità del codice ed altro ancora) .
Ma queste sono considerazioni personali.
Ciao EMa ;-))))
Left by Emanuele on dic 01, 2007 11.03

# re: Uso delle region in Visual Studio

Requesting Gravatar...
coding convention ... argomento caldo !!!!

> Non sarebbe meglio suddividere il codice per funzionalità

IMHO -1 xKè quando apri una classe scritta da un altro fai + fatica a trovare i metodi fini a quando non hai interiorizzato ilsuo criterio di suddivisione


-1 anche xKé se c'è questa uniformità nei metodi è una smell e c'è da valutare se estrarre una classe


> suddividere il codice invece per visibilità o tipo di elemento

IMHO +1 è un criterio semplice da seguire in modo uniforme da tutto il team - se viene seguito insieme alle altre coding convention dopo un po ci si sente a casa su ogni classe indipendentemente da chi l'ha scritta/modificata.

Left by Luca Minudel on dic 02, 2007 12.41

# re: Uso delle region in Visual Studio

Requesting Gravatar...
@Lorenzo
Non c'è nulla di male nel costrutto region, come non c'è nulla di male nel for, nel while, nel define, ecc..io mi riferivo all'uso spesso sbagliato (IMHO) che se ne fa

@Marco
Una classe troppo lunga è uno "smell", quindi rimpicciolirla usando le region è solo un palliativo

@Emanuele
Non ho detto di togliere il costrutto region.

@Luka
Concordo con te che se c'è uniformità tra gruppi di metodi c'è del refactoring da fare e in questo modo le region ti aiutano ad identificare i metodi da spostare. :-)
Left by Emanuele Delbono on dic 02, 2007 6.36

# re: Uso delle region in Visual Studio

Requesting Gravatar...
X Emanuele: tu concludevi che le region non servono. Forse quel tipo di region non servono, ma con il commento ci siamo chiariti e sono d'accordo con te. :-)
Left by Lorenzo Barbieri on dic 03, 2007 3.19

# re: Uso delle region in Visual Studio

Requesting Gravatar...
Ciao Emanuele,
io invece credo che le region sono molto utili, soprattutto quando si deve fare manutenzione perchè sai già dove andare a "pescare". Sbagliato l'utilizzo all'interno dei singoli metodi ma per raggruppare codice va molto bene. Io consiglio sempre l'utilizzo e nei vari progetti che ho fatto il team si è sempre trovato bene.

Marco
Left by Marco on dic 03, 2007 3.24

# re: Uso delle region in Visual Studio

Requesting Gravatar...
Io uso spesso le region in maniera simile al esempio che porti... In generale: se una classe é semplice di solito faccio solo alcune region tipo "costruttori", "fields", "properties". Di solito faccio una region per i costruttori e per i metodi che hanno più versioni in overload altrimenti mi sembra sempre che "vaghino alla deriva nel codice"... Se una classe invece é piuttosto complessa tendo a costruire delle region "per funzionalità" o "per interfaccia implementata", ecc. ecc. Credo che non ci sia niente male nel fatto che ciascuno crei le region come gli fanno più comodo...
Left by Michele Bernardi on dic 03, 2007 3.47

# re: Uso delle region in Visual Studio

Requesting Gravatar...
Si, in effetti quando si entra nel codice di altri, meno si vede e meno si resta spaventati!

Preferisco avere le mie belle region, e espandere solo lo strettamente necessario. :-)

E poi trovo che siano fantastiche per un rapido e (relativamente) sicuro copia&incolla.
Left by magomerlano on dic 06, 2007 3.53

# re: Uso delle region in Visual Studio

Requesting Gravatar...
Mi dispiace ma non sono d'accordo con la maggior parte di voi :-)
Naturalmente IMHO.
Left by Emanuele DelBono on dic 06, 2007 5.12

Your comment:

 (will show your gravatar)
 
Please add 6 and 3 and type the answer here: