---
title: "VS.Net refactoring Lessons from IntelliJ IDEA (redux)"
url: "https://osherove.com/blog/2003/11/17/vsnet-refactoring-lessons-from-intellij-idea-redux.md"
canonical: "https://osherove.com/blog/2003/11/17/vsnet-refactoring-lessons-from-intellij-idea-redux.html"
published: "2003-11-17T13:57:00"
updated: "2003-11-17T13:57:00"
tags: [".Net Original"]
author: "Roy Osherove"
description: "I've posted about this here and here before but now Mike Gunderloy writes about refactoring support (or lack thereof) in Whidbey. Some hard hitting points such as the fact that only C# has “refactoring” and not very…"
usage: "Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page)."
license: "https://creativecommons.org/licenses/by/4.0/"
---

# VS.Net refactoring Lessons from IntelliJ IDEA (redux)

By Roy Osherove November 17, 2003 In [.Net Original](https://osherove.com/blog/category/net-original)

**Historical article** · Originally published November 17, 2003; technical details may be outdated.

I've posted about this [here](http://weblogs.asp.net/rosherove/posts/33538.aspx) and [here](http://weblogs.asp.net/rosherove/posts/33541.aspx) before but now [Mike Gunderloy writes](http://www.adtmag.com/article.asp?id=8527) about refactoring support (or lack thereof) in Whidbey. Some hard hitting points such as the fact that only C# has “refactoring” and not very  good refactoring in that some of it does not even answer to the **definition** of “refactoring“. Also a good discussion about [Paul Vick's comment](http://www.panopticoncentral.net/) regarding use of the word “refactoring” for vb.net programmers. In short - Mike thinks it's lame, and I think so too. Put refactoring on the map for vb.net developers as is.  Heck, if nothing else, we'll be like that kid in school that everybody beats up on because his mom takes care of him too much in front of all the other kids. Have a little trust in us! we have brains. We'll figure out what that long word is.

Another thing in there that I could not agree more with is what Mike says about [IntelliJ IDEA](http://www.intellij.com/idea/features/7) and it's refactoring support: “_Microsoft could do worse than to copy that implementation._“

Why do I agree so much with this statement? here's the deal: For the past 3 days I've had to do some real world coding in Java. I used IDEA to do it, and I could not have been more impressed. The first impression I cam out of this experience with: “wow“ and this is from the mouth of a Microsoft geek who loved VS.NET. Until now. Coming back to the “grayness“ that is VS.NET now is like coming home to an empty house with a cold breeze: you just feel like you're on your own. With IDEA it was more like A warm cozy fire and a nice “uncle“ that helps you with whatever you forgot to do. **It actually felt like I was not coding alone**. Every variable I didn't use, every return statement I forgot to add, every constructor or get/set  I had to add - I wasn't alone. The amount of support you get **before you even do your first build operation** is staggering to say the least. The IDE is almost self aware in that everything you do (or don't do) has an immediate effect on the state of things in front of your eyes.

you can see some of what it can do in [this page](http://www.intellij.com/idea/features/3) and [this page](http://www.intellij.com/idea/features/5). here's an great example from their page:

If _you decide you should have a new method to be called at a particular place, you just type the new method name and provide its parameters if necessary. IDEA will prompt you with an unobtrusive popup with a suggestion to create a new method, and if accepted, the method will be created in the corresponding class/interface, with the proper method signature (including correct parameters), so that you can implement it later._

The IDE was so helpful to me that even though prior to this week I had no real Java experience , I was able to get to build stages and build/compile without a hitch! The IDE actually saved my sorry but a lot of grief while I was writing the code. I had no “new writer's fear“ from starting new classes or unfamiliar syntax because I knew I had something to lean on. Now that's as close to pair programming as possible without having to add an extra chair , IMHO.

So Why all this raving about IDEA? Because I want to see Microsoft do it even better. I know they can when they put their minds to it (we've all seen it a million times before) and I wish this would be one of those things. Can we have that? please?

**Update:**

About Vb.Net refactoring: [This hits the mark](http://www16.brinkster.com/messydesk/db/refactvb.asp)

## More in .Net Original

[All posts in .Net Original](https://osherove.com/blog/category/net-original)

- Nov 24, 2003

    ### [Introducing: Extensibility Application Block](https://osherove.com/blog/2003/11/24/introducing-extensibility-application-block.html)

- Nov 20, 2003

    ### [DotNetNuke Rocks!](https://osherove.com/blog/2003/11/20/dotnetnuke-rocks.html)

- Nov 17, 2003

    ### [Why are typed data tables columns declared "internal"?](https://osherove.com/blog/2003/11/17/why-are-typed-data-tables-columns-declared-quotinternalquot.html)

- Nov 14, 2003

    ### [The Regulator 1.02b is out](https://osherove.com/blog/2003/11/14/the-regulator-102b-is-out.html)


---

## About the author

**Roy Osherove**: Senior Solutions Architect at AWS working on AI for production and AI-driven development; author of The Art of Unit Testing and Elastic Leadership, with about 20 years of consulting and training on unit testing, TDD, team leadership and continuous delivery.

### Sites

- [RobotPaper](https://robotpaper.ai/): This blog: AI patterns and anti-patterns, AI and coding agents, and engineering leadership.
- [osherove.com](https://osherove.com): Roy's personal site. Author of The Art of Unit Testing and Elastic Leadership; consulting and training on unit testing, TDD, team leadership and continuous delivery, plus about 20 years of blog posts.
- [The Art of Unit Testing](https://www.artofunittesting.com): The Art of Unit Testing, 3rd Edition (Manning): readable, maintainable, trustworthy unit tests, plus TDD workshops in C#, JavaScript, Java and Kotlin.
- [5whys.com](https://www.5whys.com): Roy's writing on software team leadership: self-organizing teams, surviving chaos, learning mode and the Elastic Leadership model.
- [Pipeline Driven](https://pipelinedriven.org): Continuous delivery and DevOps practices: build patterns, pipeline-friendly testing, DevOps metrics and enterprise DevOps.
- [Elastic Leadership](https://www.elasticleadership.com): Elastic Leadership, Roy's framework for software team leaders (survival, learning and self-organizing modes).

### Social

- X: https://x.com/royosherove
- LinkedIn: https://www.linkedin.com/in/osherove/

### Contact

- Contact form: https://forms.gle/jQSx5KoXvrVA1JCK7

### License

Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page). License: https://creativecommons.org/licenses/by/4.0/
