Tighter Ruby Methods with Functional-style Pattern Matching, Using the Case Gem 148
Ruby doesn’t have overloaded methods, which are methods with the same name, but different signatures when you consider the argument lists and return values. This would be somewhat challenging to support in a dynamic language with very flexible options for method argument handling.
You can “simulate” overloading by parsing the argument list and taking different paths of execution based on the structure you find. This post discusses how pattern matching, a hallmark of functional programming, gives you powerful options.
Getting Started with FitNesse in C# 101
The tutorial I mentioned yesterday now has a Java path and a C# path. Check out http://schuchert.wikispaces.com/FitNesse.Tutorials.0.
In addition, you’ll need to get Slim.net. Check out here: http://schuchert.wikispaces.com/Acceptance+Testing.UsingSlimDotNetInFitNesse.
Getting Started with FitNesse 61
Want to know the very basics of getting a first FitNesse example up and running? Check it out here: http://schuchert.wikispaces.com/FitNesse.Tutorials.0.
This is really bare-bones basic. I’ll be adding more tutorials (mostly by request).
Please place requests in the comments if you’d like to see other subjects (e.g. same thing with .Net and C#).
I’ll be sticking to Slim-based implementations unless there’s many requests for Fit.
Let's Hear it for the Zealots! 93
In his March 1st, 2009 column in SDTimes, Andrew Binstock takes the “Zealots of Agile” to task for claiming that Agile is the one true way. He made the counter-argument that non-agile projects have succeeded, and that agile projects have failed. He implied that the attitudes of the agile zealots are blind to these facts.
What a load of dingoes kidneys!
Quality: It's alive! It's ALIVE! 134
Recently James Bach wrote a compelling post entitled Quality is Dead. As much as I’d like to agree, something interesting has just happened that tempts me to believe in a rebirth.
!define TEST_SYSTEM {fit:A} part II 26
In 11/2008 I wrote the first part of this article but I really did not give the background on why I originally asked Bob to add this feature.
So why does FitNesse need to be able to run different parts of suites in different VM’s?
Whiners that Fail 166
The acronym is not accidental.
Recently, Michael Feathers posted a hugely valuable blog entitled: 10 Papers every Programmer should read at least twice. Do you have any idea how valuable this is? Michael has read hundreds, if not thousands, of papers, and he is freely offering his opinion about which ten are the best. A wise man would pay thousands of dollars for this information. But some people prefer to whine.
10 Papers Every Programmer Should Read (At Least Twice) 946
I spent most of yesterday afternoon working on a paper I’m co-writing. It was one of those days when the writing came easy. I was moving from topic to topic, but then I realized that I was reaching too far backward – I was explaining things which I shouldn’t have had to explain to the audience I was trying to reach.
FitNesse.Slim table table example and migration to a DSL 69
I’m working on some notes related to an upcoming presentation. You can see an example of using the Slim table table here: Table Table Example
It’s a work in process. If you see something that doesn’t quite make sense, please let me know.
OO is Irrelevant! 49
This got me to thinking because the SOLID principles are not about writing OO software. What follows is my original response, but it seemed to warrant a blog entry.One can comment critically on the “Employee” class example, though. Frankly, it IS bureaucratic. So either it’s a bad example and you have mispresented your principles, or Joel is right.
Since no one has the authority to define OO, I’ll even venture to say that “Employee” is not OO.