11-14-2009 12:00 AM
Hi all,
I'm working my nerve up to take the CLD. If anyone has the time, I'd appreciate some advice on style, test rules, etc. based on my solution to the Traffic Light sample exam.
Seemed a lot easier than the car wash exam. Is this an older exam? How do the real tests compare to the practice exams? Any advice is much appreciated.
-Barrett
11-14-2009 02:40 AM
Seems quite good, also resembles the solution quite close (if memory serves right).
Few minor points:
Did you program this (with all the graphics) in four hours?
With this solution you most likely will pass the exam.
Ton
11-14-2009 05:09 AM
Very good job. Straightforward and clean design. Lots of good documentation.
A couple of issues:
Less important stuff:
If you can do as well on the other practice exams, you should do well on the real one.
steve
11-16-2009 10:08 AM - edited 11-16-2009 10:12 AM
Thanks a lot for looking it over, I appreciate it.
I realized that the no-description enum was actually dropped as the typedef'd control in some places, but not in others. I've had this happen to me before and so I took the time this morning to figure out what actions were causing that. (I think I had dropped the enum by drag-and-drop from the instance in the custom control window, which does not work - to drag-and-drop you have to drag from the icon.
would a simple error dialog be all I'd need for error handling?
-Barrett
11-16-2009 10:49 AM
blawson wrote:would a simple error dialog be all I'd need for error handling?
-Barrett
Message Edited by blawson on 11-16-2009 10:12 AM
Generally speaking, I think that the error dialog should suffice. I don't think I'm violating the NDA in saying this... (My sincere apologies to NI training & certification if I am - please delete my post if that's true) On exams I usually do something a bit more complex, but it's probably overkill. I usually run a separate loop in parallel and send my errors over there via a queue. That way errors don't hang up the application. Still, I use the stock error dialog (one of the two) in my error handler loop. I don't think I've ever lost points for that, to my recollection.
Also, regarding typedefs: To avoid orphaned enums that should be typedefs, I wrote something backwards on my forehead with a marker. (OK, not really.) "If it's a cluster or an enum, make it a typedef." Following this rule, I always start out with a typedef to begin with and thereby avoid the problem. My experience is that this almost always saves you trouble later on.
Free advice, for what it's worth.
Jim
11-16-2009 10:57 AM
thanks, jim.
What happened with the typedef is that I did start out by making it a typedef, but I managed to transfer one of them to the main BD in such a way as to orphan it.
I had passed over the error handler in this case because the only thing that can place an error in the cluster is a read property node. Though if there were an error in this program it would quit at the end of the next step without an explanation. I see the utility in paralell error processing, and it's what I use in real life, but I think the key to test speed is not making it any harder than it has to be. There's no bonus points for extra function.
-B
11-16-2009 11:03 AM
blawson wrote:
I see the utility in paralell error processing, and it's what I use in real life, but I think the key to test speed is not making it any harder than it has to be. There's no bonus points for extra function.
-B
(laughing) I agree. I should probably curb my perfectionism and spend more time reading through the exam paperwork about five (or ten) more times. I usually lose points because I missed some detail somewhere in the specification. I'll bet a lot of other people here would tell you the same thing. I think my weakness is "reading comprehension."
Good luck to you - I think you'll do fine. You seem to be well prepared.
Jim