Certification

cancel
Showing results for 
Search instead for 
Did you mean: 

CLA Attempt (ATM) - Architecture Evaluation

LabVIEW Community,

 

         I am studying for the CLA exam.  I've attached code where I focused on Architecture, Style, and documentation.  (This took 3 hours timed).

 

Could I get feedback on what I could improve on (time saver tips)?

 

I am also asking for estimates on the score on these categories.

 

I am hoping for: +35/40 on Architecture , + 12/20 on Documentation, and =9/10 on Style.

           Am I dreaming?

 

Note:  No tags where laid (I didn't have a softcopy of the requirement.txt file when I did the bulk of the work).

0 Kudos
Message 1 of 3
(3,702 Views)

I'll go over general comments then some things that may help you.

 

Overall, I think there was a general lack of documentation. The documentation in each VI was okay but there were a lot of VIs without any context help. Going to an even higher level, there wasn't really an explanation about how your architecture was supposed to work. Most people looking at this will know how it works but new developers may not. I also got the feeling that there was just a lot of code missing in general. There is definitely a line between too much detail and not enough for this exam but I think you could put in a lot more detail. For instance, your display QMH only has two states, Init and Shutdown, so it's not clear how the UI is supposed to be updated.

 

Some more specific observations would be to make sure your open and close DB have proper dataflow if they are giong to be in the top level. There is a race condition right now, but the best thing that would happen is your database opens and closes before any modules actually try to write or read from it. Lastly, I would not suggest letting or making developers have direct access to the queue reference. Giving access to this reference means you could close it out anywhere in your application, write messages that you cannot handle, or pass the wrong data type to a state. It's also generally more difficult to work with because you have to remember the message and data type you need to send.

 

My major recommendation would be to use lvlibs for your modules. Your modules look pretty similar so you could probably save some time by making a module in an lvlib and just copying it multple times. Because it's a library, you have namespacing so there won't be VIs with the same name and it makes it really easy to create VI icons (yours are unique but kind of hard to read). They will also let you make some VIs private (like your queue FGV) so anything out of that library will not be able to use that VI. What you can then do is wrap that enqueue up in another (public) VI that will force the develper to send a message that can be handled.

 

The above is my opinion, I don't actually have anything to do with grading exams at NI.

Matt J | National Instruments | CLA
Message 2 of 3
(3,669 Views)

Jacobson,

This is extremely good information!

 

I just finished taking the CLA exam (5 minutes ago), and using librarys would have saved a lot of time.

 

 In the exam , I did document in every VI created. I hope I get atleast 14/20 points, but I probably still lacking in over all process notes.

I did try to include a note with every tag that I had time to address. 

 

 

Could anyone give me a score on the attached for architecture, documentation and style?

          I'm hoping for 34/40 architecture, style = +9/10pm style and documentation= +12/20.

 

Is this about right?  I fully know most of us are guessing; I'll take good guesses, estimates!

 

0 Kudos
Message 3 of 3
(3,658 Views)