Last week, we had the author of TDD for a Shopping Website LiveProject. Friday at 11am Ranch time, Steven Solomon will be hosting a live TDD session just for us. See for the agenda and registration link
I think it's curious that everyone in the forum is always asking questions about locking design, whether caching is necessary, etc., but you rarely see questions about what is needed for full points in the GUI. I had a pretty simple GUI, for example just a simple text field to enter the search string into, although I did implement sorting in the table so I wasn't totally lazy. Anyway, I didn't get full points for the UI section (only 31/40), but whether that is because it was not so friendly to use, or if there were specific things they were looking for, I have no idea.
I assume they focus on usability characteristcs. If something really helps the user, you should get points for it. For example, neat fading colors or background pictures probably don't help you, might even cost some points. Highlighting selected line, objets layout and standard behavior may help.
If your spec allows HTML user manual (my spec does), you are probably free to do it. As long as everything works and a manual is not necessary in order to use the user manual, I see no problem. Hmm... remember that it is a must no to use external libraries and that you must write all the code yourself (whatever that means).
Lara, did your search mechanism required complex queries? My spec asks for location and/or name exatch matches and "find all". So I'm quite sure about two text fields, maybe with some improvement.
No, my search requirements did not require complex queries. I allowed the user to enter the 2 fields it specified. If both were entered, it was an "And" query, because I think that ordinary users are confused by "Or" queries, or even by having a choice (I think I mentioned that in my issues.txt). I think that it is awkward from a UI perspective to have to enter an exact name, but it did specifically require that. Maybe I should have made "Exact match" be a check-mark, that would have been more user-friendly and still met the requirements.
When you get points off in an area, they don't tell you why, so I am just guessing, same as you. Maybe I missed something basic that was in the requirements. Maybe they didn't like the fact that I allowed users to sort on any column they wanted to, but I didn't do anything to the column heading to visually indicate which field was sorted on. Maybe, maybe, maybe...
I agree with Eiji. One of the main concepts that the K&B book tries to drive home is that you if try to get too fancy, with additional functionality that strays too far from the functional requirements, it may work against you. It seems they prefer ease of maintenance, rather than trying to re-invent the wheel. Code that is easy to understand, maintain and is well documented can go much further, than some added flash and dash. We have to assume that it is a brand new programmer that is going to need to work with our code later. We should NOT try to "ooh" and "aaah" the evaluator with a new and different way of doing something, because s/he has already thought of it and will not be impressed.
SCJP - 1.4
SCJD - (B&S) Used 1.5 And It Runs On Solaris10
SCWCD - Thanks to HFSJ!!
An OR relationship is if you want all records that have a particular Hotel name, or else have a particular Client name. (Assuming these are the 2 fields you need to handle... for my B&S it was Contractor & Location). It's the union of the 2.
I don't think the lack of the OR relationship was what brought the points down. I think it is that it is annoying to have to enter an exact name, especially if you are a bad speller If I was going to enhance the UI, I would add an Exact Match check mark next to each text field. By default, it would be off, but users could turn it on. (That is to meet the requirements that we provide an Exact Match capability).
Or, you could provide a copy/paste capability within the table, so you could copy from a table cell into the text field. That didn't work on mine... well it sorta worked, except that the copy from the table cell returned data for the whole row, which is not exactly what you want to paste in.
Finally, I think I read about someone who got all the unique Names and Locations from the database and then allowed the user to pick from a combo box for these fields.
I think the AND choice was correct. As you said, an OR solution would be strange. Since the names and locations values could be a long list, I don't think a select would be the best choice in a professional application. I would go for an auto-complete/suggestion like GMail email field. Or you could use exact matches but give the user a button that lists the locations beggining with the inputted text in a pop-up.
The text-copying is very interesting. The only issue is that you have to find an already listed entry so you can filter by it's values. But it is great working together with other solution.
Of course, I don't plan to implement all that... hey! stop giving me ideas! I must resist and do not implement all that! Keep it simple, keep it simple, keep it simple... hehehe
SCJD URLyBird (WIP)<br />SCJP 1.5
Now I am super curious what sports would be like if we allowed drugs and tiny ads.
free, earth-friendly heat - a kickstarter for putting coin in your pocket while saving the earth