I have also received some feedback from people that have used the plug-in for a while and we are now working on some major changes. First of all we have been making some pretty large refactorings in order to make the code easier to test and maintain, since that is beginning to feel quite important now when more people start using it.
We are also remaking the way name rules are configured. Instead of specifying name rules in form of regular expressions, they will be specified using prefix, case style, i.e. Camel Case or Pascal Case, together with invalid characters. This leads to a new big feature, namely the possibility to automatically correct an invalid name to a valid name. We will probably also make something similar for visibility rules, so that when there is a visibility rule violation, it will be possible to automatically change the visibility to something that is allowed.
There will most likely be more rules added in future versions, like a rule specifying if "this" is to be allowed before members or not. We also have to make some major changes due to .NET 3.0, e.g. event handlers hocked up in XAML are not recognized as event handlers right now, neither are event handlers hooked up through DependencyProperty.Register. My guess is that we have to make some changes to support code rules for both WPF and WCF. How fast and how far we can come with this also depends on the team behind DXCore, since we rely on that for many things.
Stay tuned, the next version with some of the above features is not far away…
Developer Express, the company behind DXCore, has posted an interview about the development of the Code Style Enforcer plug-in.
Read the whole blog post at the community site for Developer Express.
So what does this plug-in do? Well, it checks the code against a configurable code standard and best practices. It is developed for C#, but some of the rules will probably also work for VB .NET.
Some of you might ask yourself right now, "Why the heck should I want to use that"? A code standard, huh, what is that about?
So let me tell you about the current project I am working in and perhaps you might want to give it a shot and try it out before you ask yourself these questions.
Far from everyone followed the code standard before, some did, but it was not always The Code Standard, but instead sometimes their own. The reason for not following The Code Standard was not because they did not want to, but simply because they did not see that they actually violated some rules.
Now with this plug-in all code statements that violate a rule in the code standard are underlined with red, and suddenly everyone wants to correct it, since nobody want to commit code that simply does not "look nice".
Some were a little skeptical about it at first, but now after trying it for a few months, my impression is that everyone really likes it and it has become a "standard tool" in our development tool portfolio.
For more information about this plug-in, visit the project page "Code Style Enforcer". Here you will find all releases, installation instructions and some other might-be-good-to-know-about information.
Please try it out and do not hesitate to give me feedback, be it good or bad.
Code Style Enforcer Screenshot
I am not sure which of these three things that is the reason for me to start this blog, maybe a combination, time will tell...
One reason, probably why I started, is to spread the interest in plug-ins, or add-ins, for Visual Studio. DXCore, by a company called Developer Express, is a really good extensibility framework for these kinds of things. Did I forget to mention that it is free!!!
I myself have made a plug-in that uses DXCore for checking the code against a configurable code standard. I will tell you more about this in my upcoming blog. There will also be a special page dedicated to this project "Code Style Enforcer", where you can download the latest version.
Another hot topic of interest to me right now is the new upcoming .NET Framework 3.0, former WinFX. I am currently involved in a project utilizing WPF, which I think is a really good upgrade from Windows Forms. It is therefore very likely that some topics in this blog will be about .NET 3.0.