Home » Archives for Mehdi Khalili

Author Archives: Mehdi Khalili

Code generation pros and cons and T4 Template

I dislike code generation and usually see it as a smell. If you are using code generation of any kind, there is a good chance something is wrong with your design or solution! So perhaps instead of writing a script to generate thousands lines of code, you should take a step back, think about your problem again and come up ...

Read More »

Dealing with Net Negative Producing Programmers

In his ‘Productivity Variations Among Software Developers and Teams‘ post Steve McConnell mentions: Researchers have found 10-fold differences in productivity and quality between different programmers with the same levels of experience and also between different teams working within the same industries But the difference seems a lot more than that. Those studies must have missed or overlooked something! Oh wait, ...

Read More »

Nullable Types’ Subtlety

I did a post called .Net Nullable Types on GeekQuiz.Net that I think is worth sharing here (in case you are not following me there). Also FunnelWeb has a nicer and more readable format. So here we go. In the following code snippet the nullable.HasValue condition is not necessary. Why? public static int ToInt(this object value) { var result = ...

Read More »

Mitigate your merge issues

When working in a team it is very easy to get into merge hell where your changes do not easily/nicely integrate with those made by your teammates. Merge issues could get quite serious and ugly. On my current project I noticed that two of the test classes I had checked into source control were not there a few days later. ...

Read More »

Why I do not mind VS2012 ALL CAPS menu

Visual Studio 2012 is very impressive and I like a lot of things about it. It has quite a lot of useful features and yet the ALL CAPS menus seem to be the most popular topic and a lot of devs seem unhappy about it; but I do not mind all caps menus. In fact I do not even notice ...

Read More »

Automated UI Testing Done Right

Background Two years ago I was very sceptical about automated UI testing. I had some painful experience with it because while writing the tests seemed relatively easy, maintaining them would become harder and harder over time to the point where it was impractical to maintain. Over the past year or so, I have been investing more in Automated UI Testing. ...

Read More »

Migrating from Mercurial to Git

I have used quite a lot of source control systems: started with Visual Source Safe, then used SVN, various versions of TFS, SourceGear for a short while, StarTeam, Mercurial and Git … and in my opinion Git is THE most awesome source control system (even if you were to discount its distributed nature so you can compare it with non-distributed ...

Read More »

Developer productivity tools and Visual Studio extensions

A few days ago a question was asked on Readify’s internal forum about useful VS extensions. A few extensions were mentioned that I had not used before and I am glad to have installed them now. So I thought I’d share my current toolbox with you. This is not meant to be anywhere as exhaustive as Hanselman’s Ultimate Developer and ...

Read More »

Introduction to bddify

If you are new to BDD you may want to read BDD to the rescue first. This is an introduction and a start of a series about bddify, a powerful BDD framework for .Net, called ‘Bddify In Action’: Using bddify Introducing bddify: which is this post Using Method Name Conventions Writing stories Using Executable Attributes Using Fluent API Input parameters ...

Read More »

Transform app.config and web.config

One of the biggest promises and benefits of Agile is short feedback loops and to get short feedback loop we need to deploy our application frequently. From Agile Manifesto: “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” To be able to that you really want to get as close as possible to ...

Read More »