Sinds kort heb ik de software ReSharper 3.1 geinstalleerd bij m'n VS2008 installatie, aangezien ik vaak lees dat het een handig hulpmiddel is.
Dit kan ik nu beamen, afgezien dat het de solution behoorlijk vertraagd, is het een handig hulpmiddel.
Gisteren was ik m'n code aan het optimizen/cleanen en kwam ReSharper met de suggestie/melding dat ik een variabele beter in de scope kon declareren in plaats van er buiten.
Het gaat om het volgende voorbeeld
ReSharper vind het mooier als het zo wordt gedefinieerd
Persoonlijk verkies ik de bovenste optie. Ook was m'n gedachte er achter dat bij de bovenste optie telkens hetzelfde geheugenblok wordt gebruikt en dus efficienter zou (kunnen) zijn. Dit van het geheugenblok heb ik zelf verzonnen, aangezien ik dat in C++ wel zou doen wanneer dit zou voorkomen.
Nu wordt ik echter in verwarring gebracht. Voor scoping is het misschien wel handiger om de variabele in de foreach-scope te definieren, maar dan wordt er sowieso continu een nieuw object gemaakt.
De GC zal dat allemaal wel weer opruimen, maar toch....
M'n vraag is dus, welke optie verkiezen jullie en waarom?
De mensen van JetBeans hebben er vast zelf ook wel over nagedacht, vandaar dat ik zoiets heb van het advies op te volgen, hoewel ik het niet mooi vind.
PS: Ik heb het ook aan een collega van me voorgelegd. Die gebruikt over het algemeen ook de eerste optie en vroeg zich nu ook af waarom de 2e optie wordt verkozen door ReSharper.
Dit kan ik nu beamen, afgezien dat het de solution behoorlijk vertraagd, is het een handig hulpmiddel.
Gisteren was ik m'n code aan het optimizen/cleanen en kwam ReSharper met de suggestie/melding dat ik een variabele beter in de scope kon declareren in plaats van er buiten.
Het gaat om het volgende voorbeeld
code:
1
2
3
4
5
6
| DossierInfo dossierInfo; foreach (TestInfo testInfo in testItems) { dossierInfo = new DossierInfo(); //bladiebladiebla, doe iets. } |
ReSharper vind het mooier als het zo wordt gedefinieerd
code:
1
2
3
4
5
| foreach (TestInfo testInfo in testItems) { DossierInfo dossierInfo = new DossierInfo(); //bladiebladiebla, doe iets. } |
Persoonlijk verkies ik de bovenste optie. Ook was m'n gedachte er achter dat bij de bovenste optie telkens hetzelfde geheugenblok wordt gebruikt en dus efficienter zou (kunnen) zijn. Dit van het geheugenblok heb ik zelf verzonnen, aangezien ik dat in C++ wel zou doen wanneer dit zou voorkomen.
Nu wordt ik echter in verwarring gebracht. Voor scoping is het misschien wel handiger om de variabele in de foreach-scope te definieren, maar dan wordt er sowieso continu een nieuw object gemaakt.
De GC zal dat allemaal wel weer opruimen, maar toch....
M'n vraag is dus, welke optie verkiezen jullie en waarom?
De mensen van JetBeans hebben er vast zelf ook wel over nagedacht, vandaar dat ik zoiets heb van het advies op te volgen, hoewel ik het niet mooi vind.
PS: Ik heb het ook aan een collega van me voorgelegd. Die gebruikt over het algemeen ook de eerste optie en vroeg zich nu ook af waarom de 2e optie wordt verkozen door ReSharper.
[ Voor 5% gewijzigd door Jan_V op 21-01-2008 14:25 ]
Battle.net - Jandev#2601 / XBOX: VriesDeJ