What's New in CodeIt.Right v2.2

What's new in v2.2

  • Added 12 new Async Best Practice Rules 
    • Call Start on the Task object before instantiating
    • Async method should have "Async" suffix
    • Async method should return Task or Task<t>
    • Avoid "out" and "ref" parameters in async method
    • TAP method parameters should be the same
    • Do not create async Sub method
    • Transform simple async method to non-async
    • Async method should have await statement
    • Await statement method should be async
    • Do not use Task.Yield in async method
    • Do not use Task.Wait in async method
  • Added 11 new Usage Rules 
    • Avoid empty methods
    • Avoid System.Console "Write()" or "WriteLine()"
    • Do not explicitly call "System.GC.Collect()" or "System.GC.Collect(int)"
    • Lock both when either set or get is locked for a property
    • Close database connections in "finally" block
    • Avoid control statements with empty bodies
    • Provide "default:" for each "switch" statement
    • Always provide names for threads
    • Avoid use of "new" keyword for hiding methods
    • Always close SQL resources
  • New Show violations in Error List feature- now OnDemand analysis results within Visual Studio can be rendered into Violations Report, VS Error List or both

Detailed changes by build:

  • Build 2.2.13116 (Apr 26, 2013) - v2.2 Critical Update
    • Resolved: Issue with Visual Studio freeze when copy/pasting large blocks of code and using auto-corrects
    • Added: Included RemoveUnusedClasses rule into built-in profile - the rule still needs to be turned on manually in order to run as part of the analysis
    • Added: What's New build by build change list to version/rule update screen
    • Changed: Updated What's New screen to reflect v2.2 changes
  • Build 2.2.13106 (Apr 16, 2013) - v2.2 Release
    • Added: 12 new Async Best Practice Rules 
      • Call Start on the Task object before instantiating
      • Async method should have "Async" suffix
      • Async method should return Task or Task<t>
      • Avoid "out" and "ref" parameters in async method
      • TAP method parameters should be the same
      • Do not create async Sub method
      • Transform simple async method to non-async
      • Async method should have await statement
      • Await statement method should be async
      • Do not use Task.Yield in async method
      • Do not use Task.Wait in async method
    • Added: 11 new Usage Rules 
      • Avoid empty methods
      • Avoid System.Console "Write()" or "WriteLine()"
      • Do not explicitly call "System.GC.Collect()" or "System.GC.Collect(int)"
      • Lock both when either set or get is locked for a property
      • Close database connections in "finally" block
      • Avoid control statements with empty bodies
      • Provide "default:" for each "switch" statement
      • Always provide names for threads
      • Avoid use of "new" keyword for hiding methods
      • Always close SQL resources
    • Added: Show violations in Error List - now OnDemand analysis results within Visual Studio can be rendered into Violations Report, VS Error List or both
    • Changed: (Cmd) Now command line version will analyze project in the context of the solution when both /Solution and /Project switches are present
    • Added: (EE)(Cmd) New switch added to SubMain.CodeItRight.Registration.exe - /allUsers - to register server-only Enterprise Edition copy for all users on the build server
    • Added: (EE) Added TFS 2012 support
    • Resolved: Determining return type declared in public module in VB
    • Resolved: Issues with using different Visual Studio versions with a single TFS Check-in Policy
    • Resolved: Setup will now open Internet Explorer (vs default browser in earlier versions) on the last setup screen
    • Resolved: StackOverflow error within RuleUtilities.ResolveIdentifierDefinition()
    • Resolved: SDK issue with private constant scope within custom rules for VB code
    • Resolved: SDK issue Xaml class inherited from base type in VB
    • Resolved: SDK issue FileUtilityService returning incorrect region for Using statement in C#

Also see What's New in CodeIt.Right v2.0