## 02 June 2004

### Fail with whistles

Today I have spent almost 5 hours trying to draw some useful UML diagrams using Poseidon. I was aware that it is a very slow and memory hungry beast but, in general, I can live without speed; even if I don't like it. Anyway, the lesson I have learned today is: if the input of your routine is not meeting the preconditions then fail and do so with bells and whistles. Tell your client what is wrong with the data. Do not try to \$quot;correct" the situation by second guessing what the he really meant. This will only annoy him further. Let me give you an example. Three out of those five hours were spent trying to convince Poseidon to write a constructor with the signature WordDictionaryEnumerator(dict : WordDictionaryTemplate, initialNode : LexicalTree). For some (yet unknown) reason every attempt of mine to create such a constructor resulted in the creation of the contructor WordDictionaryEnumerator() and no error message to hint me to what exactly Poseidon doesn't like. I will never use it again! I'll try Visual Paradigm to see if it is better.