Tuesday, December 25, 2012

Unwanted Usage of ‘var’ Keyword in c#

Since the introduction of ‘var’ keyword in C# 3.0, lots of developers started using it very large scale mode. I have done code reviews of lots of projects since the introduction of ‘var’ keyword and the trend of ‘var’ keyword is in usage of lots projects, and one thing what I noticed is that, ‘var’ keyword has made developer’s life much easier.


If you are from a VB 6.0 background, usage of ‘var’ keyword was strictly prohibited only to certain places, developer should not get confused themselves with ‘var’ keyword from VB 6.0 or in JavaScript which both are totally unrelated.

The main purpose behind ‘var’ keyword in C#, is to use it when the type in unknown. For example, I have a method which returns CustomerDetails and it contains information such as Customer ID, CustomerID,CustomerCity,Zip etc. which has different data types.

Usage of ‘var’ keyword at everyplace makes code very difficult for other developers to understand. For example, a developer wants to check employee status with following code, by looking at following code anyone can understand what a developer wants to achieve.







Whereas in following code snippet, developer need to spend at least some additional time to understand the code.






In above example, developer can use known type ‘bool’ instead of ‘var’ which is very easy to understand.This is just one sample example, but imagine, if developer starts using 'var' keyword in entire project for the variable declaration.



One of the point which developer need to understand is that declaration of ‘var’ keyword makes your code incompatible .Net framework 2.0 and below.

It is recommended to use ‘var’ keyword if data type is unknown, you want to take advantage of LINQ or if your class name is big.

Other points related to ‘var’

• ‘var’ is an implicit declaration

• ‘var’ is defined statically

• Compiler define data type by looking at the right side value

• Data type are defined at compile time and not at runtime

Wednesday, July 25, 2012

First Look At Visual Studio 2012


(You will love coding once again…)

Microsoft has released its latest version of Visual Studio 2012, evaluation copy can be freely downloaded from the microsoft site.

Visual Studio 2012 was earlier known as Visual Studio 11. Visual Studio 2012 has great features compares to Visual Studio,2010, look and feel has been changed drastically. Visual Studio icon is changed from to

Let start with the new functionalities introduced in Visual Studio 2012

Start Page
Visual Studio 2012  start page is very nicely designed,lots of new features such as "Quick Launch" ,"Search Work Items" , improved team explorer windows has been introduced.















Recent Project List

Though this was available in earlier version of Visual Studio, remove from the list option is not newly available, you can remove unwanted projects from the “Recent” list by selecting “Remove From List” option. (Right Click on project which you want to remove from the list, select “Remove From List” )

Even you can see the latest Visual Studio GUI in the following screen shot.













Visual Studio Dark Theme
I have seen so many developer, they don’t like default Visual Studio GUI color and they like to code using dark editor, most of them go to Tools→ Options and change default color and fonts.

 
But now you can do this by just changing Visual Experience. Select Tools →Options ,click on General from Environment section. You have option to select “Dark” or “Light”. This is really cool stuff. You can even download themes online.














Visual Studio Installation Engine Improvement
Visual Studio 2012 installation is become very user friendly as compared to previous version of Visual Studio. You can save almost 25 % of installation time and saves about 2.5 GB of the space. There is a lots of improvement in installation engine.























Other Features

Metro Style Application Development

This is the great feature, and only available for Window 8 operating system. To develop metro style application, you need to download and install the Windows 8 Release Preview Evaluation copy which is freely available on the Microsoft site. Once you install Window 8 Release Preview, install Visual Studio 2012 .

Select File →New → Project which will open “New Project” window. Select Visual C# or Visual Basic from the Template (my favorite is Visual C#) and go to Windows Metro style.

Here you have options to select what kind of Metro style applications you want to develop.

(Note: Metro style application is only available for .Net Framework 4.0 and .Net Framework 4.5)

 


Code Clone Detection


This is the new feature introduced in Visual Studio 2012, this helps you to find out similar codes in the project. Normally developers copy existing code from the project to develop new functionality, but with this “copy and paste” tendency, developers introduce lots of bugs.

For example, I have a code in project to fetches employee details and now there a new requirement where apart from employee details, employee department also need to be fetched. As a developer my tendency is to just copy and paste code which fetches employee details and make the changes appropriately to fetch department details. But here I may be introducing new kind of defects, such as mismatch in column names et.

Now as a developer, I want to find out which are all places I have cloned my code. Use close detection from Visual Studio 2012 RC.

In following code, I have copied “GetEmployeeName” code to get “GetEmployeeDepartment”.


















Select code snippet for which you want to find code clones, right click and select “Find Matching Clones in Solution”











You will get following result for the code clones. If you look at above example, though method name has been changed from “GetEmployeeName” to “GetEmployeeDepartment”  still it detects as code clone, indeed this is great feature of Visual Studio 2012.







Sunday, June 24, 2012

Setting up local Storage Emulator database instance for SQL Azure



Once you install Windows Azure SDK on your local environment , you need to do certain changes to your local envirnoment before you use local SQL Azure storage account, SQL Azure storage emulator points to its default instance and if this SQL server instance in not available on you local environment you need to change default instance to your available SQL instance.

Refer following screen shot to change default local SQL Azure storage database.



Once above mentioned command line is executed, new instace will have new database with name "DevelopmentStorageDb201206".



Sunday, June 10, 2012

First Look at Windows 8

Windows 8 is the next version of Windows 7, the main difference between other Microsoft Operating System with Windows 8 is, it supports multiple platforms such as x86,x64 and ARM.


Windows 8 can be installed on desktop,laptops,tablet pcs.


The look and feel is very attractive and once Windows 8 is released, this is going to change complete computing experience.


Windows 8 Release Preview can be downloaded from Microsoft site (http://windows.microsoft.com/en-IN/windows-8/release-preview)


Instead of directly installing on your laptop, you can first install this on Virtual Machine (VMWare, Oracle VirtualBox etc)


I have installed my first Windows 8 Operating System (Build 8400) on my Oracle VirtualBox without any difficulties.


Windows 8 Main View






















User will have different exprience with Windows 8 OS. User need to spend some time to learn this new operating system which has Metro Style Windows 8 Style UI View.


There are lots of new feature which are very new to the Windows 8 OS, such as search.
Some of the New Features of Windows 8 
  • Metro Style  Windows 8 Style UI Application Support
  • New task bar view
  • Support for Sign in using Windows Live account
  • Sync with multile system with same Windows Live account
  • Integration with SkyDrive 
New Task Manager



 There are so many other great features which I will be keep on posting :)

(Note: As per latest update, Microsoft has dropped "Metro" name,and instead it will be called "Windows 8 Style UI")

HR Policy Helper using Gen AI

  Building an HR Policy Helper Chatbot with AWS Generative AI Services In today's fast-paced work environment, employees often struggle ...