From the DevExpress labs: Code Issues

10 June 2008

Hey kids,

The IDE team is working hard finishing up the Code Issue technology and corresponding UX (User Experience). This technology allows us to highlight errors, warnings, hints, issues and code smells while you work. We've put a lot of effort into making it easy for customers to contribute new IssueProviders to the community. As we get closer to release, I'll write about how to do this.

In the meantime, here's a partial list of IssueProviders expected to ship in the next release....

  • Hints
    • Delegate can be replaced with lambda expression
    • Environment.NewLine can be used
    • ForEach Action can be called
    • Initializer can be used
    • Member can be static
    • Member is not implemented
    • Null coalescing operation can be used
    • Property can be auto-implemented
    • Redundant delegate creation
    • Redundant constructor
    • Redundant partial modifier
    • Redundant String.Format call
    • String.Compare can be used
    • String.Format can be used
    • Ternary expression can be used
    • Type can be moved to separate file
    • Type name does not correspond to file name

 

  • Dead Code
    • Redundant base constructor call
    • Redundant destructor
    • Redundant else statement
    • Redundant field initialization
    • Redundant finally block
    • Redundant lambda parameter explicit type specification
    • Redundant private setter
    • Unused private member (known as Unused declaration)
    • Unused local (known as Unused declaration)
    • Unused setter
    • Unused type parameter (known as Unused declaration)

 

  • Warnings
    • Case statement does not explicitly handle all enum values
    • Case statement has no default branch
    • Undisposed local

 

  • Errors
    • Abstract members cannot be contained in nonabstract class
    • Constructor cannot call itself
    • Member names cannot be the same as their enclosing type
    • Undeclared element

 

  • Smells
    • Complex Member

Note that customers can enable and disable these IssueProviders as desired, so if a particular provider isn't interesting to you, you can easily turn it off.

Existing CodeRush customers interested in trying out this beta technology right now can get a daily build from support@devexpress.com. Note: Code Issues in the daily builds are disabled by default and may need to be enabled on the Code Issues options page. Important: daily builds are not shipping technology, and great care should be taken when installed and used in production IDEs.

1 comment(s)
Rory Becker - DevExpress

Sounds great.. .Love the hints

Should I get a newer DB than 080610 (Link passed to me at 13:27 BST) or is that version good enough to base bug reports on ?

11 June, 2008

Please login or register to post comments.