LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

My first LVOOP project: advice appreciated

Hi all,

 

I just started using LVOOP and I would like somebody to check my first achievement and give me some advice what I should improve regarding:

 

Project organization – Auto populating vs virtual folder. I prefer the auto populating folders but with classes it seems to be better to use the virtual folders

Disk organization – Do you use plain structure of the classes or nested (children folders). Special folders for private/public methods?

PrivatexPublic… – Are there some methods that I use and should make them private? I left everything public for now.

 

But mainly if the design, the methods and the way I handle the problem is “as it should be”, or if there is space for some significant improvement.

The program should list all in system connected and supported Daqmx devices and then select only those for DAQ and those for Output. The class hierarchy is attached.

 

 

LV 2011, Win7
Download All
0 Kudos
Message 1 of 4
(2,426 Views)

I think in the last implementation I got too obsessed with dynamic dispatching. Plus there were some logical flaws. Improved. I am still curious about some insight.

LV 2011, Win7
0 Kudos
Message 2 of 4
(2,382 Views)

Hi Ceties,

 

it's difficult to answer general questions about architecture because every person can do it differently, and still all of those ways can be right.

 

Your device class hierarchy seems well designed and I wouldn't change anything there.

The most comfortable way for me to organize my project is to use auto-populating folders. 

I also wouldn't use nested file organization, rather separate folder for every class. This way you don't need to remember the inheritance pattern while going through the files outside of the project.

 

For more information please visit:

http://zone.ni.com/devzone/cda/tut/p/id/3573#toc4

especially the last paragraph "Additional Resources"

 

I hope that helps, TRSns

Piotr Kruczkowski
Certified TestStand Architect
Certified LabVIEW Architect
0 Kudos
Message 3 of 4
(2,329 Views)

I can't address all but as to the Auto-populating folders "No Sir, I don't like it!"

 

I believe it was Aristos Queue that recomended against same in an scenario where we group methods based on private vs public in virtual folders. If we have to change the protection on a method (e.g. We decide a method has to be public after the fact) then changing the protection is just a matter of moving it between virtual folders and setting teh acces scope. This just updates the class and everything lives were it did befoer the change.

 

If we attempt to do the same thing using auto-populating folders... well I'll leave that as an exercise for you to try out yourself to why I said "No sir, I don't like it!"

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 4 of 4
(2,303 Views)