2009-01-29 - System log: Definitions

Read what's going on behind the scenes and in the minds of the developers of Craft Director Tools.
Post Reply
User avatar
Micael Belin
CTO
Posts: 166
Joined: Thu Apr 03, 2008 9:39 am
Location: Gothenburg, Sweden
Contact:

2009-01-29 - System log: Definitions

Post by Micael Belin » Thu Jan 29, 2009 5:08 pm

I think that the most common problem with software development is the lack of thought and rules. It can basically be summed up by one word: Definitions!

Definitions are basically the rules for the developer and aids everybody to run toward the same goal. And, most importantly, defines how a specific function works. It's easy to tell how it works the moment you work on it, but get back to me a few weeks from now and tell me exactly how the parsing routine for the xml class works. It also helps to determine the functionality and limitations of the routine. And a well-defined routine is much easier to continue develop.

This is one definition for one of our new routines: "A component shall never be started unless its parent is also started"

Easy enough, isn't it? Well, i didn't say it needed to be easily understandable. As a well-documented definition, you are of course able to find a descriptive text about it. What does it mean? What is the purpose of it? Why do i have to follow it?

But no matter how you document it, the definition remains the same: "A component shall never be started unless its parent is also started".
The major advantage of a simple definition is that it's easy to check, once the routine is implemented. If you ever end up at a situation where the routine contradicts the definition, you know the routine is flawed. And it's easy to tell.
"I just started this component. Is the parent started as well? No? D'oh!"

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests