Efficiency op de werkvloer

Bij 8D Games hebben we eens in de twee weken een presentatie. Tijdens deze presentatie krijgt een van onze collega’s de kans om zijn/haar expertise te delen. Deze week was het mijn beurt. Ik ben Sietse Hoekstra en programmeur bij 8D Games. Ik heb hier een presentatie gegeven over efficiency binnen programmeren en hoe deze principes toe te passen zijn bij andere afdelingen. De principes die wij besproken hadden waren efficiency vs. readability, pooling en parallel.

Wat heel duidelijk naar voren komt is dat bij efficiency altijd moet worden overwogen of de korte termijn voordelen ook lange termijn werken. Efficiency is een keuze die veel valkuilen kent en dit artikel is erop gericht de bekende valkuilen vanuit het programmeerperspectief in kaart te brengen. Lees hieronder verder voor meer informatie over deze principes.

Efficiency vs. readability

Efficiency is het ervoor zorgen dat een taak of actie met zo min mogelijk geld en tijd wordt uitgevoerd. Dit is gewoonlijk abeen goed ding omdat iedereen wel geld wil besparen en een stukje tijd over houdt op het einde van de dag. Het probleem is wel het herkennen van de grens tussen efficiency en afraffelen.

Bij programmeren hebben wij een andere definitie bij efficiency. Hierbij gaat het erom dat er meerdere methoden zijn om het doel te bereiken. Het probleem hiervan is vaak dat de leesbaardere methoden meer tijd kosten maar ook duidelijker zijn om te lezen voor andere programmeurs. Hier is het dus altijd zoeken naar een perfecte balans tussen readability en efficiency.

Om deze situatie in het bedrijf voor te stellen geven wij het volgende voorbeeld. De communicatie binnen een bedrijf kan nog wel eens stroef verlopen. Zo kunnen er in de wandelgangen afspraken worden gemaakt, die worden dan nog wel eens vergeten omdat het niet opgeschreven is. Zo kan het opschrijven meer tijd kosten maar wel effectief zijn.

ab2Pooling

Waarom het wiel opnieuw uitvinden is het gezegde wat perfect past bij pooling. Pooling is het herbruiken van objecten zodat het programma minder belastend is. Vaak is het zo dat wij als programmeur al iets vergelijkbaars hebben gemaakt. Deze code passen wij dan aan op de situatie zodat het perfect past. Dit heeft als resultaat dat er tijd en dus geld bespaard wordt.

Vaak wordt deze methode al toegepast binnen een bedrijf zelf. Denk hierbij aan een standaard format die wordt gebruikt bij vergaderingen of een invulformulier. Een ander voorbeeld is het aanschaffen van een nieuwe kast. Ga je dan naar de bouwmarkt om hout te halen om zelf een kast in elkaar te zetten? Of ga je voor een bouwpakket waar je alleen de kast nog maar hoeft in elkaar te zetten? Of ga je de oude kast repareren? Er zijn veel opties in dit geval die het probleem oplossen en minder wanneer je tijd wilt besparen.

 

 

Parallel

Weer een begrip zoals pooling alleen gaat het hier om het maken van een keuze of je als programmeur de processor gebruikt of de grafische kaart. Heel technisch allemaal maar het komt erop neer dat het een keuze is tussen twee opties. Waarbij de voordelen van de ene optie de nadelen zijn van de andere optie. Vaak zal het herkennen van deze opties binnen het bedrijf zelf niet zo gemakkelijk en puntsgewijs zijn. Het belangrijkste is om deze opties tegen elkaar op te wegen en een gewogen keuze te maken.

Wilt u op de hoogte blijven van onze ontwikkelingen en wat wij nog meer in huis hebben. Meld u dan nu aan voor de nieuwsbrief onderaan deze pagina.