Generieke valkuilen
Bij het ontwikkelen van code is het gebruik van efficiënt design één van de belangrijkste punten.
Het ontwikkelen van herbruikbare code is één van de makkelijkste manieren om hiermee winst te pakken, echter is het correct implementeren hiervan moeilijker dan het lijkt.
Om te zorgen dat de herbruikbare code overzichtelijk en praktisch te implementeren blijft, moet er met precisie gekozen worden welke delen wel of niet onder zo een stuk code passen.
Code die te specifiek gemaakt is, kan gelimiteerd zijn in bruikbaarheid, terwijl code dat te generiek is, weer niet de specifieke doelen zal kunnen toepassen.
In het 2de geval raakt deze z’n efficiëntie kwijt raakt wegens onnodige functionaliteiten die mogelijk aangeroepen worden en kan het mogelijk onhandig te gebruiken wegens de complexiteit van de code.
//generic example
Public Class Animal : object
{
public string name;
public int age;
}
Public Class Plant : object
{
public string name;
}
Public Class Human : object
{
public string name;
public int age;
}
Public int GetAgeOfThing(Object item)
{
var ageValue = int.Parse(item.GetType().GetProperty("age")?.ToString());
If (ageValue > 0) {
Return ageValue;
} else {
Return null;
}
}
Een voorbeeld hiervoor zou bijvoorbeeld een generieke koppeling zijn, hierbij kunnen meerdere type objecten aan elkaar gekoppeld worden. Als je echter alle koppelingen hiermee zou maken, zal de tabel snel vol raken en zullen er steeds meer berekeningen nodig zijn om de correcte koppelingen terug te krijgen.
Om dit soort issues te voorkomen is een correcte scoping zeer belangrijk, je gaat tenslotte ook niet met een vrachtwagen op een kartbaan.