LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

LabVIEW Style Challenge - Error Wires

@SteenSchmidt  a écrit :

Yes, and he would have had exactly the same functionality had he wired the error input, he would just have saved the error bundler after the Close.

 

And if he hadn't made the code much more complex with a For-loop (why would you send empty strings when your file read failed?), he could have skipped the error structure around it all and just used dataflow with the error wire. His code would have skipped almost instantly with 70% less code and a much simpler diagram. We are different there...

 

Derrick's code on LinkedIn for reference


 

Around half of participants used a for loop...

So yes I agree we are different.

 

I accept that, even in my daily work : I don't discuss each small detail, I am open to keep and use code that I would have not done like it is. I focus on big issues, I respect freedom of each developer.

I'm quite sure that a company where each developer have no freedom and is targeted for doing something different than his colleagues falls in high turnover.

 

I would add this is particularly the case with the younger generation, which have a lot of job opportunities and can't suffer any criticism. They are also particularly sensibles to the tone employed (I confess I'm sensible to this too but not as much as them).

Or at least they are like this in France, I'm not sure for the rest of the world. And no, this is not a classical analysis of a old man over young people : I'm only 40 👴 and I hear more and more business owners reaching the same conclusion.

 

I'm not sure that endless discussions were the intent of the author here, or if he just wanted screenshots with no discussions at all 🙂

 

Have a good day

0 Kudos
Message 61 of 147
(1,539 Views)

@PragmaTest wrote:

 

I accept that, even in my daily work : I don't discuss each small detail, I am open to keep and use code that I would have not done like it is. I focus on big issues, I respect freedom of each developer. I'm quite sure that a company where each developer have no freedom and is targeted for doing something different than his colleagues falls in high turnover.

Of course the big issues are more important than the small details. But the big issues are easy, the small details are what can actually move the status quo the most over time. All those small steps to improve will actually matter 1000x a year down the line, when your big applications are maintainable and extendable because they are lean and are outputting the proper errors.

 

If we extrapolate what you suggest, you should call every function in a sandbox, and treat all data as suspect. Instead, do stuff right from the bottom up, and perhaps one day code will be trustworthy.

 

We discuss the small details to continuously improve. That's a big retention factor at my company. Nobody here would accept to do something that increases complexity and technical debt, when it's clear that there is a better way. Staying quiet is a false sense of freedom, in that case you miss improving because people around you are afraid of giving feedback if it might be taken as an insult. Be afraid of failure and you miss the opportunity to learn. That will be a lesson some in the younger generation will have to learn the hard way, when the woke and cancel cultures finds their proper balance.

 

A "challenge" to merely submit images with no discussion would be meaningless.

CLA, CTA, CLED & LabVIEW Champion
Message 62 of 147
(1,527 Views)

Done!

Style Challenge.png

G# - Award winning reference based OOP for LV, for free! - Qestit VIPM GitHub

Qestit Systems
Certified-LabVIEW-Developer
0 Kudos
Message 63 of 147
(1,510 Views)


@SteenSchmidt look at that, such a good cleanup !

Sans titre.png

just kidding 😉

 

0 Kudos
Message 64 of 147
(1,505 Views)

@PragmaTest wrote:


@SteenSchmidt look at that, such a good cleanup !

Sans titre.png

just kidding 😉

 


Sébastien,  I've been trying to find a way to respond that is both clear and would not be mistaken for simply flame warring.

 

That's is difficult considering the defenses you have offered for your coding style practices.   So, I'll just settle for clarity and let you read it however you want and let other readers do the same.

 

If you ran a bakery that had a counter full of rancid lard, weevils infesting the flour and ants in the sugar your products would be lower in quality than I would choose to purchase.  Moreover; certain regulatory agencies might just have problems with your workplace conditions i.e. any state heath board.

 

  Accepting substandard code components for your software products will negatively impact the quality of the software you can deliver and the cost of chasing down all those trouble tickets you could avoid by simply rewriting a Power Supply driver. 

 

Likewise, any approved production workflow that permits "Terminate Execution" on a path to product is inherently flawed.  The production test system should never let terminate execution happen without elevating privileges from Production User to: Maintenance/Supervisor/Responsible Engineer and be outside of a production workflow.  Clearly the production user should have the rights only to "push a button- get a banana."

 

 


"Should be" isn't "Is" -Jay
0 Kudos
Message 65 of 147
(1,479 Views)

@JÞB  a écrit :

@PragmaTest wrote:


@SteenSchmidt look at that, such a good cleanup !

Sans titre.png

just kidding 😉

 


Sébastien,  I've been trying to find a way to respond that is both clear and would not be mistaken for simply flame warring.

 

That's is difficult considering the defenses you have offered for your coding style practices.   So, I'll just settle for clarity and let you read it however you want and let other readers do the same.

 

If you ran a bakery that had a counter full of rancid lard, weevils infesting the flour and ants in the sugar your products would be lower in quality than I would choose to purchase.  Moreover; certain regulatory agencies might just have problems with your workplace conditions i.e. any state heath board.

 

  Accepting substandard code components for your software products will negatively impact the quality of the software you can deliver and the cost of chasing down all those trouble tickets you could avoid by simply rewriting a Power Supply driver. 

 

Likewise, any approved production workflow that permits "Terminate Execution" on a path to product is inherently flawed.  The production test system should never let terminate execution happen without elevating privileges from Production User to: Maintenance/Supervisor/Responsible Engineer and be outside of a production workflow.  Clearly the production user should have the rights only to "push a button- get a banana."

 

 


I partially agree with you and I thank you for clarifying your position.

By default a member of the Operator group in TestStand can push Terminate.

TSuserManager.PNG

For testing electronic parts I think it's perfectly ok, since there are a lot of situations for the operator to do so. That's why I check Ignore Runtime Error for cleanup steps.

I don't remember one single TS application where terminate has been disable for an operator but I can understand it's a possible use case.

0 Kudos
Message 66 of 147
(1,456 Views)

Thanks for taking that the way I intended 

 

"By default a member of the Operator group in TestStand can push Terminate."

 

I Know,  there are other things that I don't really like about TestStand too.  But,  I have specialized in R&D, Design Verification and Production Testing for longer than the original TS development environment has existed. 😉


"Should be" isn't "Is" -Jay
0 Kudos
Message 67 of 147
(1,449 Views)

@JÞB  a écrit :

Thanks for taking that the way I intended 

 

"By default a member of the Operator group in TestStand can push Terminate."

 

I Know,  there are other things that I don't really like about TestStand too.  But,  I have specialized in R&D, Design Verification and Production Testing for longer than the original TS development environment has existed. 😉


@JÞB

I'm a TestStand lover ❤️

After this whole conversation I see that my "silent cleanups" habit come from TestStand and that I transfer this habit in LV.

Message 68 of 147
(1,432 Views)

Inside the .zip file is "Inject Error and Reason.vi" which is an Express VI that I find handy for inserting meaningful errors.

Message 69 of 147
(1,411 Views)

Here is Jim Kring's code, modified to use my Express VI.

eh.png

Here is the Express VI configuration:

paul_a_cardinale_0-1691782012026.png

 

0 Kudos
Message 70 of 147
(1,389 Views)