Sunday, March 11, 2007, 07:00 PM - Code Style EnforcerI have now updated Code Style Enforcer, after receiving a bug report, that caused problems with selection in the code editor after invoking the context menu for rule violations.
I also added activation/deactivation of Code Style Enforcer to the context menu of the Visual Studio solution.
An uninstall of any previous versions has to be made from the Add/Remove Programs dialog, before installing the new beta version. Why? Well, it has to do with Custom Actions and Upgrade Installations, read my previous blog post for more thorough information.
Sunday, March 4, 2007, 08:27 PM - Code Style EnforcerWell, it is Sunday evening and I promised a beta version this week and believe it or not, but the beta version 2.1.0 of Code Style Enforcer is finally here.
Please try it out and give me some feedback of both possible bugs or features wished for. Make sure to read the included "readme" file for information about what is new.
Code Style Enforcer now comes with a setup program in order to make life so much easier.
I really hope you like this new improved version...
The name refactoring to valid names is not always invoked, in fact it is never invoked for local variables, since not supported by the Visual Studio API.
Code rules from previous versions of Code Style Enforcer must be reconfigured using the installed Code Style Enforcer Configurator application, which can be found in the start menu.
Download Code Style Enforcer.
Monday, February 26, 2007, 07:34 AM - Code Style EnforcerNow my new apartment is finally fully renovated and I have also managed to get myself and all my furnitures in. Therefore I thought it would be a great idea to celebrate with a Beta of the upcoming Code Style Enforcer version.
I will probably publish the beta release this week and rest assured, it has been tested quite alot, I'm using it myself at work. But of course there will be bugs, but I hope you can help me to find those, before the final release.
After this release, I will try to relese CSE more often, with minor upgrades, instead of a huge one like this is going to be.
So please stay tuned...
Sunday, February 4, 2007, 06:04 PM - Code Style EnforcerWell, what can I say, my apartment is undergoing a total renovation and my work area is occupied by paint buckets etc. It is almost finised now, so hopefully I will be able to complete the last few things real soon. Trust me, it is coming!!!
Tuesday, January 16, 2007, 07:21 AM - Code Style EnforcerI have been waiting for Developer Express to release their next version of DXCore and now that they have I will make the necessary updates before finally releasing the next version of Code Style Enforcer.
I thought at least that I could tell you what to expect from the new version, both when it comes to features and bug fixes.
• Code Style Enforcer now comes with an installer to make life so much easier.
• The different rules are now stored as XML files locally to each Visual Studio solution and are added as solution items, in a solution folder that is hidden by default. It is possible to have different rules for different solutions, but it is also possible to share rules between solutions, by linking in the XML files from a common folder. This makes it a lot easier for rules to be source controlled and shared. A windows forms application is also installed, which lets you configure the global default rules that are later copied to new solutions.
• Name rules are no longer configured through regular expressions, but instead with prefix, casing and valid characters. Hungarian notation is not there yet, but will make it into another version.
• Name violations can automatically be refactored to valid names, through a context menu.
• Visibility violations can automatically be refactored to valid visibilities, through a context menu.
• Possible to override violations, by adding an attribute "CSEIgnoreRule" to targets. Why is this a good idea? Well sometimes you simply must have a class called "UTF8", for example, even though numbers are not valid. Then it is nice to be able to add this attribute as an override, which tells Code Style Enforcer that it is a deliberate violation. The attribute also takes a string parameter where one must specify a reason for deliberately violating a rule. This makes it very easy for other project member and yourself to see and remember why the code style had to be broken in that particular case. Another scenario is when always demanding explicit interface implementations, which is not always possible when it comes to data binding or serialization. Therefore it is very nice to be able to clearly specify why a rule had to be violated.
• Destructors no longer report name violations, due to ~.
• Operator overloaded methods no longer report name violations.
• Explicit implementations of generic interfaces no longer report name violations, corrected in DXCore.
• Visibility is now also checked on classes, structures and interfaces.
So what is left to do before releasing this new version? Well not that much really, some heavy testing, but most importantly we have to make the refactoring to name rules stable and hook it up to the standard refactoring mechanism. So look back soon and hopefully the next version will be available.