Blogs

Mark Miller

From the DevExpress labs: Code Issues

     

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.

Published Jun 10 2008, 02:48 PM by Mark Miller (DevExpress)
Bookmark and Share

Comments

 

Rory Becker - DevExpress said:

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 ?

June 11, 2008 3:39 AM

About Mark Miller (DevExpress)

Mark Miller is a C# MVP with strong expertise in decoupled design, plug-in architectures, and great UI. Mark is Chief Architect of the IDE Tools division at Developer Express, and is the visionary force behind productivity tools like CodeRush and Refactor!, as well as the DXCore extensibility layer for Visual Studio. Mark is a popular speaker at conferences around the world and has been writing software for over two decades.
More from DevExpress
Live Chat
Have a pre-sales question?
Need assistance with your evaluation?
We are here to help.
Chat is one of the many ways you can contact members of the DevExpress Team. We are available Monday-Friday between 8:30am and 5:00pm Pacific Time.
If you need additional product information, require pre-sales assistance, or want help with your order, write to us at info@devexpress.com or call us at
+1 (818) 844-3383.