Monday, December 27, 2010

Kill That Util Class!

According to him, a static "Helper" or "Util" class is an anti-pattern in a language like C#, which has extension methods, so kill it!

Interesting take. I'd agree that it can greatly reduce the incidence of such classes, yes.

Kill That Util Class!: "According to me a Util class is a sign of misplaced responsibility (a missed opportunity to see an abstraction fulfilling that behavior), resulting in poor OO-ness. Often, utility methods are placed in classes with only static methods and disallow instance creation with new. If you listen carefully, these Utility classes cry out loud, telling you to find a home for the homeless child!"

Saturday, December 11, 2010

The protocol-relative URL

From Paul Irish: The protocol-relative URL: "There's this little trick you can get away with that'll save you some headaches:
<img src="//domain.com/img/logo.png">

If the browser is viewing that current page in through HTTPS, then it'll request that asset with the HTTPS protocol, otherwise it'll typically* request it with HTTP. This prevents that awful "This Page Contains Both Secure and Non-Secure Items" error message in IE, keeping all your asset requests within the same protocol."

Thursday, December 09, 2010

Algorithmia Source Code released on CodePlex - Frans Bouma's blog

This code library is used by the LLBLGen Pro 3.0 designer, so it's stable and tested.

The undo/redo looks intriguing.

Algorithmia Source Code released on CodePlex - Frans Bouma's blog: "One of the main design goals of Algorithmia was to create a library which contains implementations of well-known algorithms which weren't already implemented in .NET itself. This way, more developers out there can enjoy the results of many years of what the field of Computer Science research has delivered. Some algorithms and datastructures are known in .NET but are re-implemented because the implementation in .NET isn't efficient for many situations or lacks features. An example is the linked list in .NET: it doesn't have an O(1) concat operation, as every node refers to the containing LinkedList object it's stored in. This is bad for algorithms which rely on O(1) concat operations, like the Fibonacci heap implementation in Algorithmia. Algorithmia therefore contains a linked list with an O(1) concat feature."

Saturday, December 04, 2010

CODE Magazine - Article: Behavior-Driven Development

Uniting XP, Scrum, and BDD.

CODE Magazine - Article: Behavior-Driven Development: "Extreme Programming and Scrum compliment each other, but they weren’t made from the start to fit together hand in glove. Practicing Extreme Programming and Scrum are more effective when practiced together, and even more effective when practiced together as Behavior-Driven Development."