07-20-2026 01:43 AM - edited 07-20-2026 06:07 AM
@Ludwig72 wrote:
This topic is becoming really interesting. Can we pin this somewhere as a best practice?
I will condense it into our Dokuwiki, if nothing else:
DSH Pragmatic Software Development Workshops (Fab, Steve, Brian and me)
Release Automation Tools for LabVIEW (CI/CD integration with LabVIEW)
HSE Discord Server (Discuss our free and commercial tools and services)
DQMH® (Developer Experience that makes you smile )
07-20-2026 02:07 AM
@Darren wrote:
This may seem like anathema, but on the past couple of projects I've worked on, I've been creating a top-level non-namespaced folder in the project that contains utility VIs and typedefs that are used across different libraries/classes in the project. That way I don't have to worry about ownership of those shared components. It's been working well. I only need to worry about tightening that up if I end up reusing a class/library in a different project, but that doesn't happen very often... most of the libraries/classes I write are project-specific.
We usually approach this the other way around: Keep dependencies with whichever library owns it. And make an outspoken separate library for shared dependencies only if multiple reuse modules use them. Even though our template ships with a PROJECT.lvlib by default, we don't usually put lots of stuff there without thinking twice.
I agree, Sam, that having unwanted dependencies is less than ideal. At the same time, if you're using a module's request VI, that static dependency is already there anyhow.
James, you are spot on: If possible, don't expose the cluster but just the individual elements of it. Also very good advice.
DSH Pragmatic Software Development Workshops (Fab, Steve, Brian and me)
Release Automation Tools for LabVIEW (CI/CD integration with LabVIEW)
HSE Discord Server (Discuss our free and commercial tools and services)
DQMH® (Developer Experience that makes you smile )