Programming

Stuff relating to the techie things I do for a living.
Dysfunctional JavaScript

jQuery is, quite rightly, lauded for providing a way of coding JavaScript for web browsers that just works. It pushes you relentlessly towards the pit of success, making simple things easy and difficult things possible. But if there's one niggle I have with coding jQuery, it's the anonymous function noise level. Every block of jQuery code is wrapped up in $(function() { ... }); and inside that you're constantly having to nest yet more anonymous blocks: $(function() { $('div.clickable').click(function() { ... }). }; (Aside: I see a lot of people coding jQuery who don't use the $(function) shorthand to hook up document ready handlers. There's NO NEED...

posted @ Friday, August 14, 2009 10:16 PM | Feedback (1)

Dangerous Ideas in C# No. 1: A 'Better' Switch

Switch statements are rubbish. Only work on strings and numbers. Require an exact match value. Let’s abuse, oh, to pick a C# feature at random, collection initialisers, and use it to make them better! string switchValue = "house"; switch (switchValue) { case "hello": Console.WriteLine("Value was hello"); break; // But how can we handle, say, all other strings that start with h? default: Console.WriteLine("No match - Fallthrough"); break; } // here’s one way: new Switch<string>(switchValue) { { "hello",...

posted @ Friday, May 23, 2008 9:57 AM | Feedback (5)