Showing posts with label Software Engineering. Show all posts
Showing posts with label Software Engineering. Show all posts

Wednesday, June 17, 2009

A BillG review by Joel Spolosky

Just happened to drop on to this article and thought this is a must publish on the blog.
Read it here

Monday, May 11, 2009

What does "Batch Build" in Visual Studio IDE do ?

This is another menu option I recently found very useful as I work on large solutions with multiple projects in them, which makes it really difficult to switch between configurations. So, I decided to setup a batch build config for building selective projects without having to switch between Debug and Release and the other custom configurations that I have created for my solution.



Basically, "Batch Build" allows you to build a solution in a specific 'Configuration' . You may find yourself needing to do this when you're needing to build and rebuild setup projects while testing.

You could of course run a command line compile, but a simple way to stay in the IDE and Debug configuration whilst running a Release build is the Batch Build facility.

Just go to Build --> Batch Build, then select all the Release versions of the projects you want to build (or whatever you want to build), and then click Build and you should be good to go with your configuration.

Wednesday, October 29, 2008

C# 4.0 is here

Bart De Smet talks about new features in C# 4.0


Very good article with some very good links especially this doc that describes the new features in C# 4.0 available as part of Visual Studio 2010 is worth a read definitely.

For more, click here



Friday, September 26, 2008

Remote Debugging in Visual Studio 2003

So, I had to debug an app of mine that I had deployed on a Windows 2003 Server box that did not have Visual Studio installed. I went through a few articles, bugged a colleague of mine only to find out that we had a doc explaining something similar on our company wiki.

Anyways, it turned out, setting up the debugger in VS2003 isn't exactly as simple and straightforward as VS2008. But after going through a few articles online and the MSDN tutorial, all I had to do was copy over msvcmon.exe from C:\Program Files\Microsoft Visual Studio.NET 2003\Common7\IDE\Remote Debugger (this may not be the exact location) to the remote machine (I put it on the dekstop for ease of use).

After that I opened a command prompt and ran it using the following switch :
C:\Documents and Settings\jjohnson\Desktop\>mvcmon.exe -tcpip -anyuser

Ideally what this means is that you are going to use TCP/IP mode for debugging and you allow any user to attach to this process.

Other available modes are Pipe Mode and the default mode. (You can get more help by msvcmon /?).

Anyways, if you need a better explanation look here.

Tuesday, September 16, 2008

11 More Visual Studio Shortcuts You Should Know

11 More Visual Studio Shortcuts You Should Know

Posted using ShareThis


  1. CTRL + “K” + “M”: This one is Genius.
    Incase you need to add a method to an
    already existing class you just write the method
    as if it exists :

       1: int i = 5;
       2: bool flag = NewMethod(i);

    Click on the shortcut and you will get the
    following method stub:

       1: private bool NewMethod(int i)
       2: {
       3:     throw new NotImplementedException();
       4: }

    Great isn’t it?

  2. CTRL + “.”: This one expands the one before it, say you need to add a functionality to a different class. again all you have to do is use the method as if it exists:
       1: int i = 5;
       2: bool flag = DifferentClass.NewMethod(i);

    Put the cursor on the new method, click the shortcut and you will see this:

    Create Method Stub
    Hit Enter and you will get a new method stub with the return value and the parameter, in the other class.

       1: public class c
       2: {
       3:     internal bool NewMethod(int i)
       4:     {
       5:         throw new NotImplementedException();
       6:     }
       7: }

    Definitely my favorite.

  3. CTRL + “-” and CTRL + SHIFT + “-”: These two are similar to the Forward and Backwards buttons of the WebBrowsers and will take you to all the places your curser was, Very useful for those times you click F12 to go to definitions and then have no clue where you were before :). (Thanks Vijay Santhanam).

  4. ALT + ENTER: We talked about it in the last post, but it seems that this shortcut will open the properties window on anything that moves, even Files in your Windows Explorer. (Thanks to Bryan Migliorisi from http://www.Migliorisi.com).

  5. SHIFT + ALT + ENTER: This one will switch you Visual Studio to Full Screen mode, which is very useful in those boring presentation when you have to show your code through a projector on a screen. Another click will get you back to normal mode. (Thanks to Pablo Marambio).Visual Studio Full Screen

  6. CTRL + “M” + “M”: This one will collapse the region your cursor is at whether its a method, namespace or whatever for collapsing code blocks, regions and methods. The first will collapse only the block/method or region your cursor is at while the second will collapse the entire region you are at. (Thanks to knave).

  7. CTRL + ALT + “P”: This will open up the attach to process window, very useful for debugging. (Thanks Greg Beech from http://gregbeech.com).Attach to Process

  8. CTRL + “R” + “R”: This one is used to quickly rename a method/ variable or whatever. (Thanks again to Greg Beech).Rename Method

  9. F8 and SHIFT + F8: These two are great! they are similar to the shortcut number 3 but they will take you forward and backwards in your search results just search for something and then start hitting F8 and you will see. (Thanks to David Hu).

  10. CTRL + SHIFT + “B”: This one will invoke build solution. ( Thanks to Matt Brunell).

  11. CTRL + “B” + “T”: This one will allow you to quickly add or remove a bookmark from a line of code.

Truly some great and helpful shortcuts. Thanks to everyone who commented, and looking forward to hearing what else you have.

If you want some more cool options for your visual studio check out Power Commands. And once again if you think we missed anything, comment.

Until next time, Happy Coding !!!

Friday, July 18, 2008

Code Analysis and Metrics in Visual Studio

So, today morning, while trying to set my Quarterly goals on a lazy Friday, I came up with the issue of quantifying my work in the form of code metrics (in case you haven't figured out already, I am a software developer at my first job in the US, working specifically on C#).

So, my company uses Visual Studio Professional 2008 and I was kinda excited to find out the blog of the Code Analysis and Metrics team at Microsoft as my first search result in Google.

Going quickly through the article, I couldn't wait to give the plugin/utility a try and get some cursory metrics for the code I was working on. The screenshots showed some real interesting stats, some of which were Cyclomatic complexity, Executable lines of code, Maintainability Index, Number of Instructions among others. What I would soon find out though was that the code analysis and metrics feature was only available on the Visual Studio Team Edition SKU. Going through the comments I did find out that a few others had requested that the feature be part of Professional sku (I would have rallied behind them as well, but the article was closed for comments).

Anyways, a few comments there suggested alternative tools/plugins for those sorta code metrics. A couple that I came across and liked were Exact Magic software StudioTools. No only was it free, but it provided pretty much all of the information that the Team Edition Code Analysis provides.



It's free and looks good on first impression.

Another tool/plugin I came across was NDepend. This one I haven't tried, but the screen looked real flashy in this one. Plus, I think they have something where you could specify rules and stuff for the code analysis and the type of metrics that you wanna get. Sounded interesting, but I guess I wanted to give Exact Magic's piece of magic a shot before I move on.

So, I guess next time I have my one-on-one with my manager, I should have cool metrics to support my work. What say, Mr. Keesara.

Anyways, time for Red Sox-Angels game. Go Sox !!!

Monday, April 14, 2008

Test Driven Development (TDD)

Just found a really good article on Test Driven Development (TDD).

Read about it here....