Why I'm no longer giving up on C#

For while now I've been getting bored and annoyed with C#. Its not that its a bad language, its just that when you look around the web there seems so many other languages that seem so fluent to write. NodeJs, Ruby, Javascript, Cloujure. These languages are all the rage at the moment and with good reason. Recently I've been playing around with all these languages trying to find a replacement for the C# that I've grown to hate. However, I realised something (and to be fair its pretty obvious). Its not C# the language that I've found frustrating but the…

Read More

Saving Key Strokes can bring a World of Pain

Developers seem to fall into two schools of thought on this one. Limit the amount of code you write or leverage the syntax to assure no mistakes are made. I've flirted between the two, but right now I'm heavily in favor of the latter approach. What am I talking about? Well two things in particular. Firstly the use of chaining declarations in JavaScript and secondly omitting curly braces in single line if statements. Both of these things have caught me out recently. Let me give you some examples: Chaining Declarations in JavaScript function SomeObject() { var span = document.createElement('span'), li…

Read More

Another Reason you should be doing TDD

Another Reason you should be doing TDD

I've been to NDC this week. If you get the opportunity I highly recommend it. I spent the first two days of the conference in a workshop with Bob Martin, talking about SOLID principles and TDD. In the TDD talk he opened my eyes up to a different way of looking at it, and I realized something. All these years I've been doing TDD I've missed an opportunity. I've always written my tests before code (almost always) but the whole time I've been doing it I've had a pre-determined solution in mind. Given a problem, I've worked out how I…

Read More

When you Shouldn't Bother Testing

When you Shouldn't Bother Testing

TDD is the way to go, I'm absolutely sure of it. It brings more benefits than you might first think. As well as the simple fact that your code will be more reliable, it forces you to write your code in a way that is testable, which in turn will make it loosely coupled and modular. It forces you to think about what you want your code to do before you start writing it. It brings other additional benefits that I won't bother to mention, suffice to say theres no excuse for not using it in modern development. However, there…

Read More