|
Awebandonware
Looking for new owners.
Featured See also: http://boilen.codeplex.com/ Awe, poor little project — my free time and energy has shriveled up and I am officially abandoning the project to the wilds of the internets (though I would be happy to help anyone interested in taking over). Instead, I'll be using the interesting StringTemplate library I learned about recently. ST uses a very clean syntax for applying templates embedded in plain text to data values you pass in. Of couse, being a general-purpose templating engine it does not have any specific code generation features builtin, but writing templates to support common features is quite easy (that is, once you get a handle on how their templates, groups, lexers, and loaders work together :). So ST can handle the 90% case of automating common coding idioms, though it does miss out on some of the advanced features I wanted to include in ncodex. In particular, automatic addition of appropriate guards/input validation on public members (non-null reference types, efficient enum validation, range checking, etc); automatic handling of IDisposable implementation (IsDisposed property, proper methods, disposing disposable members, etc); and automating common design-time support based on members of the type being designed — all of which require type-specific information (i.e. this class I am generating and these members implement IDisposable). And I do have some problems with the general usability of ST for .NET development:
Still, these are fairly minor complaints, not deal breakers. And lets not forget one of the most important features: it works today, whereas ncodex would require many more weeks to get into a similarly usable state for all the 90% features :) So, while I still think ncodex would act as a good .NET-specific tool for automating those common, tedious, robotic coding patterns, for now I have not time to invest in the project. |
If you can guide me through more details about your vision for NCodeX, I would be very excited to be the code monkey who finishes off your interesting work.
My reaction to seeing NCodeX today was, "This could be very cool." And then I saw it was awebandonware.
By the way, in case you are wondering, I found your project by searching Google for "Pragma : MarkupExtension?". I was hoping someone had already implemented such a first-class object model of the #pragma directive for XAML, and Google suggested I look at ncodex.googlecode.com/svn/trunk/Product/Production/ncodex/Declaration/TypeExtension?.cs
Using UI Automation to control dynamic portions of controls that would otherwise be written in the code-behind file is another idea. UI Automation in WPF is a declarative concept and can remove a ton of programmatic, imperative boilerplate.