Beter code door achievements in Visual Studio ?

Voor Visual Studio is een plug-in beschikbaar die het mogelijk maakt om achievements te halen, net als op de XBOX 360. Leuk idee, maar krijg je hierdoor ook betere code?

Achievements kennen we van de XBOX 360. Als je in een spel iets bijzonders presteert krijg je een soort van medaille. De uitdaging is om alle medailles in een bepaald spel te halen. Vaak moet je een spel meerdere keren spelen en echt beheersen voordat je alle achievements kunt halen. Je kunt ook je behaalde achievements vergelijken met die van je vrienden. De Playstation 3 heeft iets soortgelijks met Trophys en ook Steam op de PC kent achievements.

Het leuke is dat de achievements plug-in voor Visual Studio gebaseerd is op een  humoristisch blog artikel van een ontwikkelaar.

Je kunt deze achievements beschouwen als een vorm van “gamification” . Bij “gamification”  worden aan een niet-spel  spel elementen toegevoegd om het leuker te maken.  Je kunt dit ook zien als een vorm van “game based learning, waarbij een spel(element) wordt ingezet om een leereffect te bereiken.

Het onderwerp waar ik het eerste aan dacht was de unit test. Een eerste achievement bij je eerste “groene” unit test. Bij je 100ste unit test weer en dan weer bij nummer 1000.

Toen ik de lijst met mogelijke achievements doorlas bleek er helaas geen unit test achievement in te zitten.  Wel krijg je bijvoorbeeld een achievements als je GOTO gebruikt of 20 variabelen met een naam van 1 karakter binnen 1 class.

Nu zijn het wel  achievements van 0 punten en er wordt je wel duidelijk gemaakt dat dit geen best practices zijn, maar volgens mij hadden ze met een beetje meer moeite wel een aantal leuke achievements kunnen verzinnen die wel best-practices stimuleren. Bijvoorbeeld voor een project met een bepaalde grote zonder FxCop waarschuwingen.

Terug naar de vraag aan het begin van dit artikel. Krijg je betere code door achievements in Visual Studio ? Ik denk het (nog) niet. Daarvoor zijn de achievements nog niet goed genoeg voor uitgewerkt, maar het bied wel potentie voor de toekomst.

Daarnaast is het misschien leuk om na te denken hoe je  “gamification” en  “game based learning” kunt inzetten voor de projecten waar je zelf aan werkt. Lees ter inspiratie eens deze artikelen over  SAP en  Rypple (overgenomen door Salesforce) waarbij deze toch wel “saaie” bedrijfssoftware leuker en beter wordt gemaakt door toevoeging van spel elementen.

Maar wanneer komt de Trophy ondersteuning in Eclipse ?