Have a question? Email Us or Call 1 (800) 936-2134
SubMain - CodeIt.Right The First Time! Home Products Services Download Purchase Support Community
 Tuesday, May 19, 2009
Click for a full-sized image

As you may know yesterday Microsoft released VS2010 Beta 1 to MSDN Subscribers. The Beta will also be publicly available for the rest of the world on Wednesday. This is long expected and very exciting new version of Visual Studio; and we here at SubMain are fully prepared to support the new shiny version!

While some companies make a big deal posting screenshots of the upcoming VS2010 versions and announcing availability of previews for their products within a month, we at SubMain have been working hard to give our customers a new fully VS2010 compatible version on the day of VS2010 Beta 1 release!

So ... today, within the 24 hours of the VS2010 Beta 1 availability, you can download new version of CodeIt.Right that runs in VS2010 (as well as VS2008, VS2005, VS2003) and fully understands the syntax changes in C# 4.0 and VB10! This is just of the many new features that come with this release - you can see the long list below.

With the VS2010's multi-monitor support and CodeIt.Right allows for even better performance as you keep violations up on one monitor while review source code and the changes on the other monitor.

Another great feature added in this version is the template based rules. We currently support T4 templates. The template based rules are simpler and more flexible alternative to writing custom rules using CodeIt.Right SDK.

Click for a full-sized image

Over the next couple of weeks we will be adding a tutorial on how to use and customize T4 templates in CodeIt.Right. Ping us if you want this sooner.

Give it a shot and let us know what you think!

This update is free for all users who are current on their Software Assurance and Gold Support Subscription

New in CodeIt.Right v1.6:

  • Compatible with VS2010
  • C# 4.0 and VB10 syntax support
    • Automatically Implemented Properties (VB.NET)
    • Generic Variance (VB.NET)
    • Multi-line lambda expressions that can contain statements (VB.NET)
    • Implicit line continuation (VB.NET)
    • Dynamic lookup (C#) - (the "dynamic" type)
    • Named and Optional parameters (C#)
    • Covariance and contravariance (C#)
  • Added T4 template based rules
    • Profile Editor supports editing and validation of T4 templates
    • Rule "Externally visible types and members should have XML comments" has been rewritten as a template based rule and is customizable now
    • Added Global Properties tab in Options - user configured properties to be used with the T4 templates
  • Spell-checking rules
    • Significantly improved performance, now suggested spellings lookup is only performed when the the Correction Options dropdown is clicked
    • Spell-checking rules - improved performance when use a secondary (non-English) dictionary
    • Spell-checking rules - renamed en_US.usr to complang.usr
  • Further improved ASP.NET support - rename refactoring now also corrects the ASP.NET page HTML markup server tag IDs and attributes
  • Context menus Check All, Clear All and Correct Checked are now context specific when clicked on file or project lines in the violations list
  • Improved performance for Check All, Clear All, Exclude Rule and Exclude File 
  • Analyze Project and Analyze File context menus in the violations list, see forum post 
  • Analyze Folder and Analyze Project context menus in the Solution Explorer
  • Synchronization of the file selected in the Solution Explorer with the violations list
  • About dialog - added subscription expiration date
  • Added "Don't show this exception again" checkbox to the unhandled exceptions dialog
  • Default Encapsulate Field correction for rules "Do not declare externally visible instance fields" and "Secured types should not expose fields" changed from "Create new property and update all references where the field is use" to "Rename the field, create new property with the original field name and do not update the field references" (for the public name has not changed), see forum post
  • Added new property ExcludeList to all Naming rules, see forum post 
  • Added new RuleTargets - Solution, Project, File
  • New Rules:
    1. Use constants where appropriate (Performance)
    2. Remove unused internal classes (Performance)
    3. Do not initialize unnecessarily (Performance)
    4. Source file name should be Pascal cased (General)
    5. Source file should contain only one public type (General)
    6. Source file name should match public type name (General)
    7. Enable Treat Compiler Warnings As Errors option (General)
    8. Enforce Warning Level 4 (General)
    9. Source file should have a header (General) - a T4 template based rule
  • more bug fixes

Known issues

We are releasing the product with one known issue this time for it is very minor.

  • Under VS2010 Beta 1 CodeIt.Right rule documentation links, like "More", "Tell me more..." don't work. This feature depends on the Visual Studio offline help module which was not shipped with VS2010 Beta 1. You still can use Rule Help in the Profile Editor. Rule documentation help works fine in VS2008, VS2005 and VS2003.

Download

Download version 1.6.09139 here - http://submain.com/download/codeit.right  

Technorati Tags: , , , , ,


posted on Tuesday, May 19, 2009 9:08:21 AM (Pacific Standard Time, UTC-08:00)    #    Comments [0]   
 Monday, December 29, 2008

With just a couple of days left this year, I wanted to share with you a great article in the MSDN Magazine Toolbox column this month on Improving Software Quality with Static Code Analysis Tools where MS MVP Scott Mitchell is reviewing Static Analysis Tools For .NET. Scott is comparing FxCop, StyleCop and CodeIt.Right:

While FxCop and StyleCop pinpoint rule violations, the developer is still responsible for implementing these tools' suggestions. CodeIt.Right from SubMain takes static code analysis to the next level by enabling rule violations to be automatically refactored into conforming code.

Like FxCop, CodeIt.Right ships with an extensive set of predefined rules, based on the design guidelines document mentioned earlier, with the ability to add custom rules. But CodeIt.Right makes it much easier to create and use custom rules.

CodeIt.Right's biggest benefit is the automatic code refactoring.

Scott summarizes:

Static code analysis tools provide a fast, automated way to ensure that your source code adheres to predefined design and style guidelines. Following such guidelines helps produce more uniform code and also can point out potential security, performance, interoperability, and globalization shortcomings.

Thank you, Scott!

Visit MSDN Magazine web site for the complete article.

What is your experience with CodeIt.Right, please tell us. And, as always, ask questions!

Happy Holidays!

Technorati Tags: , , , , ,

posted on Monday, December 29, 2008 4:08:44 PM (Pacific Standard Time, UTC-08:00)    #    Comments [0]   
 Monday, December 22, 2008

Just before the holiday we are releasing new version of CodeIt.Right - build 1.2.08357. Download version 1.2.08357 today!

This release features addition of spell checking engine to CodeIt.Right SDK, workaround for the Out of Memory error on large solutions, 12 new rules and many bugs fixed.

Please share your feedback in the forums especially on the new spell checking rules - we are still working and improving them.

Note: The new spelling rules are included with the built-in profile but they are turned off by default - you will need to turn them on. For all rules you will need to add them into your custom profiles.

This update is free for all users who are current on their Software Assurance and Gold Support Subscription

Major changes in CodeIt.Right v1.2 :

  • New feature - Spell Checker, we extended SDK with spell checking engine which enables us to add new rules. This build includes en-US, en-GB, en-CA, en-AU, fr-FR, es-ES, es-MX dictionaries. You can add other languages using OpenOffice format dictionaries. We cannot distribute de-DE and it-IT dictionaries for they are GNU GPL licensed but you can download them from OpenOffice web site here as well as several dozen of other languages.
  • Added - Out Of Memory error handling - shows dialog that links to the page with recommendations on How to avoid Out Of Memory exceptions in Visual Studio by enabling is to use up to 3GB of virtual memory
  • Added - "Copy Violation" in the violation list allows to copy the highlighted violation information into clipboard. Alternatively use Ctrl+C.
  • "Exclude File" violation list context menu option is now enabled when right-clicked on the file name row
  • Added - Cache Folder Path option - allows to move CodeIt.Right cache directory (default - User\Application Data)
  • New Rules:
    1. Identifiers Should Be Spelled Correctly (Spelling)
    2. Comments Should Be Spelled Correctly (Spelling)
    3. Type link demands require inheritance demands (Security)
    4. Secured types should not expose fields (Security)
    5. Secure serialization constructors (Security)
    6. Review visible event handlers (Security)
    7. Review deny and permit only usage (Security)
    8. Review declarative security on value types (Security)
    9. Method security should be a superset of type (Security)
    10. Array fields should not be read only (Security)
    11. Aptca methods should only call aptca methods (Security)
    12. Wrap vulnerable finally clauses in outer try (Security)
  • CodeItRight.Cmd.exe changes:
  • many bugs fixed

Download build 1.2.08357 here - http://submain.com/download/codeit.right  

Technorati Tags: , , , , ,

posted on Monday, December 22, 2008 1:26:40 AM (Pacific Standard Time, UTC-08:00)    #    Comments [0]   
 Wednesday, October 22, 2008

by Serge Baranovsky

The best and the biggest MS developer conference Microsoft PDC 2008 edition is just few days away. We, of course, wouldn't miss the great opportunity to meet and network with potentially 10000 developers.

This year we will be giving away free CodeIt.Right licenses for those who manage to spot me in the crowd and talk to me about your favorite CodeIt.Right feature, what you don't like about the product or help to prioritize the upcoming features. Or talk about what's important to you, what's on you mind, or just a geek talk.

To help you find me I will share that I'm attending Palermo Party Sunday night and hanging around most every party, event, session and between the sessions. You can follow me on Twitter , email me at sergeb@submain.com or call our toll free line 1 (800) 936-2134 and choose extension 3 - "Talk to Serge" (special PDC option :)

If you have never met in person, perhaps picture on my Twitter account - http://twitter.com/sergeb - will help you :)

Looking forward to meeting you all in LA next week!

Technorati Tags: , , , , ,

posted on Wednesday, October 22, 2008 2:08:55 PM (Pacific Standard Time, UTC-08:00)    #    Comments [0]   
 Friday, September 19, 2008

New version of CodeIt.Right is out! You can download build 1.1.08262 today.

This is a major release even though we only added ".1" to the version. It includes .NET 3.5 support, Guidelines document template generation, option to analyze single file, enhanced SDK documentation, new rules, new command line version parameters and more. Please share your feedback in the forums.

This update is free for all users who are current on their Software Assurance and Gold Support Subscription

Major changes in CodeIt.Right v1.1 :

  • Support for .NET 3.5 (C# 3.0 and VB 9.0)
  • New feature - Generate Template in Profile Editor allows to generate guidelines document template based on the profile. Please note the XSL stylesheet only works with IE (not Firefox)
  • New feature - Analyze File in the Solution Explorer context menu - enables individual source code file analysis
  • New feature - Severity Threshold dropdown - allows to quickly filter violations by severity
  • Improved Profile Editor layout
  • Added "Rule Info" tab in Profile Editor
  • Pivot View allows to save your custom views (Save As)
  • Updated SDK documentation - now includes most every class, method and property of CodeIt.Right SDK. We will update the Online SDK documentation promptly.
  • Auto-Update now also includes the latest help file
  • New Options -> General -> Max violations to report (default Unlimited) to limit to the first N violations reported
  • New Rules:
    1. Do not declare read only mutable reference types (Security)
    2. Seal methods that satisfy private interfaces (Security)
    3. Secure GetObjectData overrides (Security)
    4. Assemblies should declare minimum security (Security)
    5. Override link demands should be identical to base (Security)
    6. Prefix member calls with self (Usage)
    7. Do not prefix calls with Base unless needed (Usage)
    8. Review suppress unmanaged code security usage (Security)
    9. Do not indirectly expose methods with link demands (Security)
    10. Security transparent code should not assert (Security)
    11. Secure asserts (Security)
    12. Code region name should be PascalCased (Naming)
  • CodeItRight.Cmd.exe improvements:
    • Added MsBuild and Nant tasks (SubMain.CodeItRight.MSBuild.dll and
      SubMain.CodeItRight.NAntBuild.dll)
    • Fixed /Quiet option
    • Added /OutXSL parameter
    • Added /CRData parameter
    • Added /severityThreshold parameter
    • Improved formatting of the output XML data file
    • Added return error codes
    • Removed key press required in the older version
    • see CodeItRight.Cmd.exe Command Line Options for details
  • Removed Alt shortcuts in the toolbar - they were conflicting with some of the Visual Studio
  • Renaming a parameter now also updates its name in XML comments
  • Added CodeRegion class in the SDK
  • Added "Expression" and "Code Region" to Rule targets
  • many bugs fixed

Download build 1.1.08262 here - http://submain.com/download/codeit.right  

Technorati Tags: , , , , ,

posted on Friday, September 19, 2008 3:55:47 PM (Pacific Standard Time, UTC-08:00)    #    Comments [0]   
 Thursday, September 18, 2008

by Serge Baranovsky

Earlier this week I attended VSX DevCon on Microsoft campus where I learned quite a bit about the changes coming to the upcoming version of Visual Studio (Dev10) and its Extensibility Model. This was very important for us to be abreast of the future Microsoft releases and stay ahead of the game with our products. I twittered some of the event.

It was fun conference too. I talked to many MS VSX folks, first time saw Rico Mariani talking (he is excellent!), met new people and old friends including Richard Hundhausen, Roy Osherove and Eli Lopian of TypeMock, discussed templating options (something to be included into future version of CodeIt.Right) with T4 guys.

While fun, food and snacks were a little different this time around. There was another conference across the hall and MS catering had naturally setup separate snack tables. Which I didn't really pay much attention to... So when VSX tables got low on snacks I was yelled at by a catering lady for trying to get something from the other conference table. I had a weird feeling of a kid being caught stealing cookies...

Well, the story next day made me feel a little better about my "cookie incident" :) It was mentioned already by Ken Levy via Twitter and Ted Neward on his blog - Steve Ballmer got scolded by catering for taking a cookie without VSIP badge... At least I wasn't the only one who got confused and yelled at ;)

Back to the business now. Me being out of the office for few days didn't affect the progress on v1.1 release of CodeIt.Right. In fact, it is finished, tested and will are releasing it tomorrow.

Stay tuned!

 

posted on Thursday, September 18, 2008 2:42:40 PM (Pacific Standard Time, UTC-08:00)    #    Comments [0]   
 Friday, August 29, 2008

As promised last week, new version of PrettyCode.Print for .NET is now available for download. The new version adds support for .NET Framework 3.5 and Visual Studio 2008 as well as many bug fixes since the last release.

Although v2.0 (technically) marks a major version update, the upgrade is still free for current users. Here at SubMain we like to keep things simple :) Enjoy!

More details at http://submain.com/pcp.net

Download at http://submain.com/download

Technorati Tags: , , , ,

posted on Friday, August 29, 2008 2:43:50 PM (Pacific Standard Time, UTC-08:00)    #    Comments [0]   
 Thursday, August 21, 2008

A quick update - we've been a little quiet lately. That's because we are working on two updates - new version of PrettyCode.Print for .NET with .NET 3.5 and VS 2008 support as well as CodeIt.Right v1.1 - beta available here - http://tinyurl.com/cir11-beta

PCP.NET will be available first week of September and CodeIt.Right v1.1 the following week.

Technorati Tags: , , , , ,

posted on Thursday, August 21, 2008 10:28:58 AM (Pacific Standard Time, UTC-08:00)    #    Comments [0]   
 Tuesday, July 22, 2008

by Serge Baranovsky

New version of CodeIt.Right is almost out. We have a beta build 1.1.08198 for you today. Please download and give it a try, let us know what works and what doesn't. This is pretty big release that includes .NET 3.5 support, Guidelines document template generation, new command line version parameters and more. Please share your feedback in the forums.

If you get an unhandled error dialog, please enter your email address so we could let you know when we resolved the issue or if we need to contact you for more details in our troubleshooting.

For the .NET 3.5 support we have made major changes to our parsing engine - please report all issues you encounter with the Beta.

Major changes in the v1.1 Beta:

  • Support for .NET 3.5 (C# 3.0 and VB 9.0)
  • New feature - Generate Template in Profile Editor allows to generate guidelines document template based on the profile. Please note the XSL stylesheet only works with IE (not Firefox)
  • Improved Profile Editor layout
  • Added "Rule Info" tab in Profile Editor
  • Pivot View allows to save your custom views (Save As)
  • Updated SDK documentation - now includes most every class, method and property of CodeIt.Right SDK
  • Auto-Update now also includes the latest help file
  • New Options -> General -> Max violations to report (default 1000) to limit to the first N violations reported
  • New Rules:
    1. Do not declare read only mutable reference types (Security)
    2. Seal methods that satisfy private interfaces (Security)
    3. Secure GetObjectData overrides (Security)
    4. Assemblies should declare minimum security (Security)
    5. Override link demands should be identical to base (Security)
    6. Prefix member calls with self (Usage)
    7. Do not prefix calls with Base unless needed (Usage)
  • CodeItRight.Cmd.exe improvements:
    • Added MsBuild and Nant tasks (SubMain.CodeItRight.MSBuild.dll and
      SubMain.CodeItRight.NAntBuild.dll)
    • Fixed /Quiet option
    • Added /OutXSL parameter
    • Added /CRData parameter
    • Improved formatting of the output XML data file
    • Added return error codes
    • Removed key press required in the older version
    • see CodeItRight.Cmd.exe Command Line Options for details
  • many bugs fixed

Download build 1.1.08198 here - http://submain.com/download.aspx?product=codeit.right-beta 

Note: Even though 1.1.08198 is a stable Beta it's Beta nevertheless. Proceed with care.

Technorati Tags: , , , , ,

posted on Tuesday, July 22, 2008 2:31:18 PM (Pacific Standard Time, UTC-08:00)    #    Comments [0]   
 Monday, May 12, 2008

by Serge Baranovsky

As I mentioned earlier I presented CodeIt.Right in Portland at PADNUG last week. I had great time, thank you all guys and girls - you are wonderful and very friendly audience! I'm glad I got to know better some of you during the "informal" meeting at Gustav's after the presentation.

Few of you asked if the slides will be available, so I'm published PDF version of the slides on our community page - PADNUG CodeIt.Right Presentation Slides. If you need the PPT version - just drop me a note at the email address on the first page of the slides.

Thanks again, it was great visiting Portland!

Technorati Tags: , , , , ,

posted on Monday, May 12, 2008 5:13:19 PM (Pacific Standard Time, UTC-08:00)    #    Comments [0]   
 Friday, May 02, 2008

by Serge Baranovsky

v1.1 progress & Enterprise Edition

The v1.1 release that includes .NET 3.5 syntax has been slightly delayed. There are two reasons for that - we had too much fun at the MVP Summit mid-April and we made few significant changes to the parsing and refactoring engines to support the 3.5 syntax. The coding part is done, we cover all of the .NET 3.5 now. And we are going through a major testing phase as the base application layer responsible for all .NET versions was affected. We are currently targeting end of May for the v1.1 release date.

Meanwhile, the Enterprise Edition of CodeIt.Right is pretty much ready - we should have beta in a couple of weeks. Enterprise Edition has two parts - developer client and Profile Authoring/Admin piece. The latter, in addition to the Profile Editor features, has the ability to push profiles to developer workstations and limit developers to use only the profiles that were published by a Team Lead/Lead Developer/Architect.

Tutorials

We have published CodeIt.Right SDK Online Documentation and a couple of new tutorials:

All tutorials are now listed on the new dedicated Tutorials page.

Presentation

I will be speaking in Protland at PADNUG this Tuesday, May 6th at 6:30pm - more details here - http://www.padnug.org/padnug/meetings.aspx?ID=145

If you are in the area and want to hear about coding guidelines, best practices, ask questions and see a demo of CodeIt.Right, come join us. I will bring some swag for giveaway, free licenses and discount codes.

Technorati Tags: , , , , ,

posted on Friday, May 02, 2008 4:16:56 PM (Pacific Standard Time, UTC-08:00)    #    Comments [0]   
 Saturday, April 12, 2008

by Serge Baranovsky

This CodeIt.Right rule update includes fixes as well as 3 new security rules.

New rules:

  • Do not declare read only mutable reference types (Security)
  • Seal methods that satisfy private interfaces (Security)
  • Secure GetObjectData overrides (Security)

These rules are included with the default profile and you will only need to follow the wizard to merge them into your custom profiles.

Fixes:

  • Rule "Do not override operator equals on reference types" incorrectly triggered violation for the "Equals" method. Now this rules only reports violation for the operator "==" override.
  • Fixed "If the type is a generic type, CIR adds the apostrophe-count string to the class name for the deserialization constructor"
  • Fixed "If there is no explicit default parameterless constructor, adding the deserialization constructor causes errors in all derived classes that called the parameterless constructor"

As a reminder, this set of rules is distributed using the Rule AutoUpdate feature which triggers 15 minutes after you start Visual Studio. If you turned the feature off, you can manually start the update wizard from the CodeIt.Right/Help & Support/Update Rules menu.

Technorati Tags: , , , , ,

posted on Saturday, April 12, 2008 11:59:05 AM (Pacific Standard Time, UTC-08:00)    #    Comments [0]   
 Sunday, March 23, 2008

by Serge Baranovsky

Since the v1.0 release a number of improvements were requested for use CodeIt.Right in an automated build process and we are making a refresh for CodeItRight.Cmd.exe available today. This version of CodeItRight.Cmd will be included as part of the v1.1 release which additionally will ship with ready to use tasks for MSBuild and NAnt.

See CodeItRight.Cmd.exe Command Line Options for complete list of the console version command line switches and error codes.

Important:

  • This copy of the console version of CodeIt.Right will only work with the original v1.0 release (build 1.0.08035)
  • It will only work with the VS2005 and VS2008 version of CodeIt.Right. If you need VS2003 version, please contact support.

You can download the new improved  here

Instructions:

  • Extract SubMain.CodeItRight.Cmd.exe from the downloaded zip file
  • Save it to CodeIt.Right program directory, typically Program Files\SubMain\CodeIt.Right

Changes in this build of CodeItRight.Cmd.exe:

  • Fixed /Quiet option
  • Removed key press required in the older version after it is done analyzing solution
  • Added /OutXSL parameter 
  • Added /CRData parameter
  • Improved output XML data formatting 
  • Added return error codes

See CodeItRight.Cmd.exe Command Line Options for complete list of the console version command line switches and error codes.

posted on Sunday, March 23, 2008 1:00:44 AM (Pacific Standard Time, UTC-08:00)    #    Comments [0]   
 Wednesday, March 12, 2008

by Serge Baranovsky

Party With Palermo

Besides hosting traditional now vbCity and VB-INSIDERS get-together around MVP Summit this year we are also sponsoring the "Party With Palermo" on Sunday, April 13, 2008 @ 7:00PM - 10:00PM - more details at http://www.partywithpalermo.com/

If you are in Seattle area that weekend, come join in - it'll be fun. There will be plenty great people to meet, free swag, free drinks and food.

Find me - you will get free software too (did I just say CodeIt.Right out loud? :)

 

posted on Wednesday, March 12, 2008 12:34:19 AM (Pacific Standard Time, UTC-08:00)    #    Comments [0]   
 Monday, March 10, 2008

by Serge Baranovsky

Mike McIntyre posted great review of CodeIt.Right on DevCity.NET - http://www.devcity.net/Articles/348/CodeIt.Right.Review.aspx - Mike has put CodeIt.Right through a test using 10 of his projects.

Mike summarizes:

I feel CodeIt.Right's features for configurable static code analysis and its ability to automatically correct my code make it well worth the purchase price. It has become and indispensable addition to my developer toolkit.

I highly recommend you give it a try.

Thank you Mike!

What is your experience with CodeIt.Right? Feel free to ask questions, tell us what you think!

Technorati Tags: , , , , ,

posted on Sunday, March 09, 2008 11:53:50 PM (Pacific Standard Time, UTC-08:00)    #    Comments [0]   
 
 
     
 
Home |  Products |  Services |  Download |  Purchase |  Support |  Community |  About Us |