-
I am in the process of reading Mary and Tom Poppendieck's latest book ' Implementing Lean Software Development ' and I came across a great quote that is ALL too true in our industry. (I am only 2 chapters in on the book, but so far it is as good as their last book ). 'When testing occurs long after coding...
-
Over the years I have come to the conclusion when working with switch statements that switches on enum values, a DEFAULT block MUST be required. Not only should it be required, I think it should throw a developer exception. *** NOTE *** My stance on this is ONLY in scenarios where the switch statement...
-
Code reviews are thought to be painful by many, but in my opinion that can be avoided. Code reviews can be a great tool for a project to help keep the code clean and concise. Last time I talked about Code Reviews and how to make them successful , this time I thought I would spell out some of the Rules...
-
Code reviews are something that not all of us like or do, but they can be very valuable. I thought I would express some of my thoughts/opinions about the benefits and pit falls of performing code reviews. Benefits of Code Reviews Performing regular and consistent code can have a great impact on your...
-
I am thinking about posting about different principles/patterns over the next few weeks/months. I have decided to start with Fail Fast. This is something that I think most people over look or plain just don't do. Although the concept of Fail Fast is easy and straight forward, in most systems I have seen...
-
All software projects will amass some amount of technical debt. This is not a necessarily bad thing; it is just he cost of doing business. As developers the only thing we can do is try to control/limit the amount of technical debt we build up. If you agree that all software projects build up some amount...
-
Up until a few months ago I had never even attempted to use mocks ( NMock , RhinoMock , etc). Every time I would read about Mocking I thought to myself, this is kinda cool, but seems to be a waste of energy. At the time I saw Mocks as only a way to create ‘placeholders’ for business/data classes. I did...
-
How long can we expect the applications we write to live on? What types of things increase or decrease the shelf life of our applications? Is it practical to suggest that software is only good for a certain period of time? Or should software be able to run for ever? Most products we buy have an expected...
-
Have you ever needed to make rule changes to an existing application? I am sure you have. Have you ever had to make these changes when you understand the change, but have pretty much no clue about the implementation of the code base you are changing? This is kinda like performing surgery in the dark...
-
What is Done? Done is when the software has been written to address the requirements. No more, no less. has a suite of tests written to exercise and validate that it meets the requirements and is technically valid. source code has been reviewed by a peer, preferably peers. source code meets the development...
-
Over the years I have conducted my fair share of interviews with potential new employees for the different companies I have worked for. In fact my company is currently looking for a few good developers now. What has always confused me is the lack of questions asked by the potential candidate. Sure they...
-
We all know that simpler is better when it comes to software development. Any time there is code that is overly complex it makes it hard to test/debug and it is much harder to interpret in the future when changes/enhancements need to be made. There are a few different ways that developers can attempt...
-
I have finally come to the conclusion that no object should be allowed to be constructed in any way that will allow for the object to be setup in an invalid state. Way too often I see an object that uses the empty constructor which then requires the user to ‘guess’ which properties are needed to setup...
-
It dawned on me the other day while preparing my garden the upcoming season that my vegetable garden and the software applications I work on have more in common then previously thought. Now you may be asking, how is this; one grows vegetables and the other is code. One is organic and the other is digital...
-
Just to pass this along. I was needing to raise events in NMock and I came across this post on how to Raise Events in NMock2 . This is a good post with clear examples. Enjoy