Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member
If you are a Visual Basic programmer, you don't have refactoring in Visual Studio by default. There is a free CodeRush Xpress tool, however, that is sanctioned by Microsoft. If you plan on following along with me in these demos, you need to install the Xpress tool. I have included a copy of the installer in the Exercise Files folder, and then the Installers folder. This is the file you want to install, CodeRushXpress. Once you've installed CodeRushXpress, you need to restart Visual Studio. Then the next time you run it, you may need to enable DevExpress. On my machine, I have to go to DevExpress load.
For my first refactoring, I am going to open this Program.vb file, and I am going to do a simple rename refactoring. I am going to click on the letter b, and I am going to invoke the Refactoring menu. It's down here. It has an exclamation on end of the name. That's how we know it's the CodeRush Refactor. The refactoring that I want to do today is Rename Local. I am going to press the Enter key, and notice that there are two blue bounding boxes added to my window: one on line 7 and one on line 12.
Those two variables are now linked, and if I type a new name here at the top, it appears online 12 as well. Later, if I go back and click on this item again, you'll see that the link still exists. I can then choose to rename it. Next, I am going to do an extract method refactor. To do that, I am going to open this file, MathLib.vb. This refactor, I am going to take this small calculation here, and I am going to extract it out into a separate method, because I think I might reuse it later in my application. I am going to select this text and then choose refractoring menu, Refactor!.. > Extract Method.
Now you can see a lot of things happening here. There are some blue arrows pointing to my code and some green arrows pointing to my code. I am going to just hit the Enter key, and then I get this red line that lets me choose where I want to put the new method. I think I want to have the new method go down here on line 12. I will press Enter, and again, you see I get those blue bounding boxes. This time I can type in my new name, "CalcArea". Now I want you to notice one more thing: on line 9 there is a blue triangle up there. That is a marker. It was dropped when I did the refactoring.
Now I can press the Escape key. Keep an eye in line 9 when I press the Escape key, and you'll see that the cursor moves back there. I am pressing it now. It was also a little shrinking blue circle that shows I will move to that point. Next, I would like to refactor this method over in the Book class. I am going to switch to the Book class. I am going to reorder the parameters in this method. I am going to invoke the Refactor key on my keyboard, which is Ctrl+ Backtick character, and then I am going to choose Reorder Parameters from this list, and then press Enter.
Now again, you see there is a blue bounding box, and this time there is an arrow that is pointing to the right. What I can do now is I can press the right and left arrows on my keyboard to move these parameters. I am going to move this parameter over to the next position, and then when I am happy with this, I can press the Enter key. Now of course, I can keep going back and forth. Right now, I am happy with it as a last parameter, so I am going to press the Enter key, And then the Refactoring tool takes me over to my Main() method and shows me that on line 12, I made a call to that function, and it needs to be rewritten.
If I approve this change, I click on the check mark. Then it moves to line 15 and says, "Do you want to change the code here," and I approve that one as well. Up at the top of my Book class, I have an autoimplemented property. There is a refactor that lets me turn this into an implemented property. I'll choose Title and then Ctrl+Backtick. I'll choose to Create Backing Store. Notice the red mark there showing it's going to replace that text. I will press Enter, and you see it's rewritten it to about six lines of code. Later, if I want to switch it back, I could choose this item and then switch it back so it would look like this property down here.
There are lots of other refactorings. Let me show you just one more. I am going to show you the Extract Interface. I will click on Book, choosers Refactor!, choose to extract the interface, and you see that it pull the Interface out, used the code down here to implement the interface, wrote the properties for me, Title, and made sure it says Implements IBook.Title, and it has also got the blue bounding markers, showing that there is a link. So if I want to change the name of the interface to something like IWhatever, it's changing all the linked locations.
So as you see, the Xpress tools take a more dramatic approach to refactoring. If you write C# code, then you'll be happy to know that CodeRush has refactoring for your language too.
Get unlimited access to all courses for just $25/month.Become a member
61 Video lessons · 100158 Viewers
56 Video lessons · 113178 Viewers
71 Video lessons · 82038 Viewers
131 Video lessons · 39367 Viewers
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.