Moet ik ongebruikte referenties opruimen in C# classes?
Tijdens het schrijven van code hou ik ervan dat alles netjes is. Alles moet netjes zijn volgens een aantal code afspraken. Dit doe je omdat je de code netjes wilt achterlaten voor de volgende die naar deze code gaat kijken. Code die overzichtelijk is, is namelijk eenvoudiger te onderhouden en uit te breiden in de toekomst. Als je applicatie groeit, krijg je in je classes steeds meer usings bovenaan je code. Door wijzigingen in je code of wijzigingen krijg je er zo steeds meer. Veel van deze usings zijn nodig om je applicatie te laten werken, maar er staan er ook veel die niet nodig zijn. Is het nodig om deze op te ruimen? Heeft dit impact op je applicatie als je deze laat staan?
Al deze usings worden bij het compileren toegevoegd als referentie naar de class. Bij heel veel usings worden er dan ook heel veel referenties opgevraagd, die soms dan niet nodig zijn. Door de ongebruikte referenties te verwijderen, versnel je dan ook de tijd van het compileren en daarmee het opstarten van je applicatie (afhankelijk van de grootte van je applicatie heeft dit meer of minder impact). Het gaat hier dus alleen om de startup tijd, en niet de runtime. Als je applicatie eenmaal is opgestart is er geen verschil meer.
Een ander voordeel is dat je niet een verkeerde class kunt gebruiken, die bijvoorbeeld heel wat anders doet dan je voor ogen had. Zo heeft de System.Drawing en de System.Web.UI.WebControls allebei een Image class, maar als beide usings worden gebruikt, moet je extra goed opletten dat je de juiste class aanroept.
Usings opruimen kan eenvoudig in de nieuwste versie van Visual Studio 2022. Door middel van het draaien van de ingebouwde Code Cleanup kunnen snel en eenvoudig de ongebruikte referenties worden verwijderd.