Deze tool verdient wel wat aandacht: een leuke toevoeging op de C# compiler is eXtensible C# (http://www.resolvecorp.com/).
Het werkt met een soort preprocessor om met custom compiler attributes allerlei zaken extra aan de code te analyseren, toe te voegen of te wijzigen. Klinkt heel moeilijk, maar het werkt erg simpel.
Mogelijkheden in het kort:
* Declaratief aangeven van pre- en postcondities.
* Code obfuscaten.
* Code verifiëren op verschillende regels, en ook compile time checking van pre- en postcondities.
* Code coverage analyses.
Het mooiste is dat de code volledig backwards compatibel blijft (source kan worden hercompileerd met de reguliere C# compiler), je pre- en postcondities worden overerfd, het gebruik van de code generatie ipv interception geen extra overhead of fouten veroorzaakt, en je hoeft geen nieuwe taalconstructies te leren. Bovendien kun je zelf nog extra dingen er bij schrijven. Het tooltje is gratis en source wordt gedeeltelijk meegeleverd. Even het bekijken waard. Voorbeelden en een presentatie staan op de site.
Ik heb het zelf geprobeerd en ik vind het een stuk eenvoudiger werken dan veel andere oplossingen, waarbij je vaak met custom talen/tooling of andere paradigma's moet werken om dezelfde functionaliteit te krijgen. De help is een beetje summier en onvolledig, maar desalniettemin een erg knap staaltje werk!
PS: Heeft iemand toevallig al iets met de custom tracing/debugging faciliteiten van dot net gedaan, en zo ja, waar kan ik hier een paar leuke mogelijkheden voor vinden?
Het werkt met een soort preprocessor om met custom compiler attributes allerlei zaken extra aan de code te analyseren, toe te voegen of te wijzigen. Klinkt heel moeilijk, maar het werkt erg simpel.
Mogelijkheden in het kort:
* Declaratief aangeven van pre- en postcondities.
* Code obfuscaten.
* Code verifiëren op verschillende regels, en ook compile time checking van pre- en postcondities.
* Code coverage analyses.
Het mooiste is dat de code volledig backwards compatibel blijft (source kan worden hercompileerd met de reguliere C# compiler), je pre- en postcondities worden overerfd, het gebruik van de code generatie ipv interception geen extra overhead of fouten veroorzaakt, en je hoeft geen nieuwe taalconstructies te leren. Bovendien kun je zelf nog extra dingen er bij schrijven. Het tooltje is gratis en source wordt gedeeltelijk meegeleverd. Even het bekijken waard. Voorbeelden en een presentatie staan op de site.
Ik heb het zelf geprobeerd en ik vind het een stuk eenvoudiger werken dan veel andere oplossingen, waarbij je vaak met custom talen/tooling of andere paradigma's moet werken om dezelfde functionaliteit te krijgen. De help is een beetje summier en onvolledig, maar desalniettemin een erg knap staaltje werk!
PS: Heeft iemand toevallig al iets met de custom tracing/debugging faciliteiten van dot net gedaan, en zo ja, waar kan ik hier een paar leuke mogelijkheden voor vinden?