One Day in History
Oct. 17th, 2006 07:43 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
As posted to One Day in History:
Today was dominated by work, where I'm a software developer. I work for Insights Learning & Development Ltd., an international training company based in Dundee that specialises in how people work together. I and my colleagues write software that supports the company's training programmes.
Today's achievement was migrating our mock objects (the crash test dummies of software testing) from the NMock 1.0 framework to the alternative Rhino Mocks. We started off using NMock as the "obvious" choice, but now that NMock 2.0 has a significantly different syntax we took that as an opportunity to look at what other frameworks were available.
NMock 2.0 is a definite improvement, looking more like English due to clever chaining of its methods, and it has useful functionality improvements over 1.0 as well. However, when we checked up on a couple of alternatives, we also found ourselves interested in TypeMock, a commercial framework, and Rhino Mocks, a free framework.
We chose Rhino Mocks in part because it has similar syntax and capabilities to NMock 2.0, but mainly because it has better support for refactoring. Refactoring is the process of gradually improving code whenever you touch it, and one common form of refactoring is to rename functions to be more meaningful.
Other mock object frameworks rely on storing function names as strings (text), which are not so easily found in amongst the code by refactoring tools that do the renaming. Rhino Mocks relies on actual calls to the functions, which can be more easily found and kept correct by refactoring tools.
As it's one of our goals to encourage refactoring and make it easy to do, this made Rhino Mocks the immediate favourite. So far we haven't found any killer functionality that would make any of the other options more attractive.
I came home in the usual way - a combination of a lift with a friend and co-worker as far as St. Andrews, and then a bus journey the rest of the way home - and sat down to watch a DVD and eat before returning to my computer to write this entry and carry on working on my out-of-hours project, which is a cut-down Windows Mobile version of our software.
It's nearly finished, which is just as well as it's due to be submitted for "Designed for Windows Mobile" logo testing next month and I'd like to get some of my evenings back! I think I've just cracked the last remaining significant problem, by moving some functionality into an event handler that is invoked later in the program's start-up process than the ones that I'd initially been trying to use.
Today was dominated by work, where I'm a software developer. I work for Insights Learning & Development Ltd., an international training company based in Dundee that specialises in how people work together. I and my colleagues write software that supports the company's training programmes.
Today's achievement was migrating our mock objects (the crash test dummies of software testing) from the NMock 1.0 framework to the alternative Rhino Mocks. We started off using NMock as the "obvious" choice, but now that NMock 2.0 has a significantly different syntax we took that as an opportunity to look at what other frameworks were available.
NMock 2.0 is a definite improvement, looking more like English due to clever chaining of its methods, and it has useful functionality improvements over 1.0 as well. However, when we checked up on a couple of alternatives, we also found ourselves interested in TypeMock, a commercial framework, and Rhino Mocks, a free framework.
We chose Rhino Mocks in part because it has similar syntax and capabilities to NMock 2.0, but mainly because it has better support for refactoring. Refactoring is the process of gradually improving code whenever you touch it, and one common form of refactoring is to rename functions to be more meaningful.
Other mock object frameworks rely on storing function names as strings (text), which are not so easily found in amongst the code by refactoring tools that do the renaming. Rhino Mocks relies on actual calls to the functions, which can be more easily found and kept correct by refactoring tools.
As it's one of our goals to encourage refactoring and make it easy to do, this made Rhino Mocks the immediate favourite. So far we haven't found any killer functionality that would make any of the other options more attractive.
I came home in the usual way - a combination of a lift with a friend and co-worker as far as St. Andrews, and then a bus journey the rest of the way home - and sat down to watch a DVD and eat before returning to my computer to write this entry and carry on working on my out-of-hours project, which is a cut-down Windows Mobile version of our software.
It's nearly finished, which is just as well as it's due to be submitted for "Designed for Windows Mobile" logo testing next month and I'd like to get some of my evenings back! I think I've just cracked the last remaining significant problem, by moving some functionality into an event handler that is invoked later in the program's start-up process than the ones that I'd initially been trying to use.
no subject
Date: 2006-10-17 08:13 pm (UTC)no subject
Date: 2006-10-17 08:15 pm (UTC)no subject
Date: 2006-10-17 08:17 pm (UTC)no subject
Date: 2006-10-17 08:41 pm (UTC)no subject
Date: 2006-10-17 11:52 pm (UTC)no subject
Date: 2006-10-17 08:35 pm (UTC)I think MacOS will disappear before Windows does, with a market share (last time I saw it quoted) of a very low single figure percentage. :)
no subject
Date: 2006-10-17 11:57 pm (UTC)It's interesting, one of my geekier students has just bought a new laptop - a Mac PowerBook Pro. His reasoning went along the lines of "I don't need to install Linux on it because it's already running BSD unix". Even with all of the geeks on the side of the Mac, though, it's still a niche market.
That doesn't stop me wanting my own PowerBook Pro, mind.
no subject
Date: 2006-10-18 06:17 am (UTC)However, when it came down to it and I thought it through, I'm afraid I came to the conclusion: "So why would I pay more for the manufacturer to ship a bunch of cruft I don't really want (MacOS) that will get between me and vanilla Windows, when last time I was buying a PC I chose to build my own partly to avoid exactly that?"
Part of me thinks that I should satisfy my geeky curiosity (which does exist!) and broaden my professional horizons by experimenting with MacOS and Linux; but I just don't find installing and tinkering with different operating systems as much fun as I used to. I'll certainly re-evaluate that if either OS looks like becoming a significant competitor to Windows, but until then...