The systems we work with are complex with complex processes. Many of the brands still require programming. Whether you use what you think is a “real” programming language or you think it’s a “scripting” language, code review is probably required. Many of you are doing LIMS code reviews, already,. Regardless, anyone working with these systems needs to understand more about how to properly do a LIMS code review or code review with their ELN, LES or LIS, as well.
Everything I’m about to say applies to the largest products in our market, such as the LabWare LIMS / ELN, Thermo Fisher Scientific’s SampleManager LIMS / LES, Abbott Informatics’ StarLIMS or the Labvantage LIMS. But even the smaller brands allow programming add-ons, so this issue is wide-spread.
Meanwhile, if you’d like to read more about code reviews, this article includes a volume of good information, including an entire block written by me, giving some bullet points around the issues:
Code Review: Create the Culture, Learn the Best Practices
Some Background
I’ve been working with code reviews for quite a long time, now, not just LIMS code reviews. This includes working with 100% development projects involving large development teams, as well as one-person projects where there’s literally no team to speak of. I’ve created programming and development standards, been on standards committees, and used other people’s standards. I’ve used development tools that play a part in development standardization and been the person who actually sets these up, such as code repositories, as one example.
In working on so many projects with and without standards, I’ve seen great successes. In addition, I’ve seen a number of failures, as well as processes that aren’t failures but aren’t working well, either.
Sadly, for too many years in this industry, too many people insisted we didn’t need to address any of this, that what we were doing was “different.” Hopefully, most of the companies who used to say that now understand that programming truly does need to be managed.
On the other hand, there are still plenty of processes that need fixing. I still hear all types of meaningless excuses when people speak about some of these topics. Seriously, if you heard some of them, most of you would just shake your head.
LIMS Code Review: What it is Not
Here’s a short list of what LIMS code review is not supposed to be:
- It’s not meant to be a weapon with which to punish the people you don’t like and reward those whom you do like.
- LIMS code review isn’t a way to push your personal preferences or agenda.
- It’s not a way to avoid training people or hiring people who know what they’re doing, to start with. That’s why you want to get experts such as GeoMetrick Enterprises on your projects, especially for products such as the LabWare LIMS / ELN.
LIMS Code Review: What It Should Be
LIMS code reviews should focus on making your code efficient and maintainable. It should address making it easy to read and understand for the future people who will have to work with it. Code reviews can help find bugs or potential issues even aside from actual testing.
A Story
When I was in college, I easily aced my course in boolean logic. You know what that is if you’re programming because it’s all those TRUE/FALSE/AND/OR/NOT things we work with.
I was so focused on creating that exact logic that, on my first large project, when I came across a situation that that logic applied to, created a complex boolean statement that EXACTLY handled the situation.
Some of you are surprised and others appalled when I tell what happened. But, the code review team told me to replace it with a longer but clearer statement.
The Point to This Story
Here’s the point: the original statement condensed what the code needed to do into an exact logical representation of what it should do. And, for anyone who was an expert with this logic, they could figure that out.
But few people really are experts in this. And, the new statement was just clear – it was obvious what it was doing. Any of the programmers could understand it without having someone with deeper boolean experienceexplain it to them. Let’s face it – you can’t always depend on having that kind of person around when you need an explanation.
The Even Bigger Point to This Story
AND, there’s more, but when you’re in maintenance mode, you don’t have a lot of time to figure out the finer details. The people doing system maintenance are just swamped, especially on big systems that are actually producing goods. They’re running around. They’re so busy they can’t come up for air. They don’t need some clever jerk sending them anything that they can’t just look at, quickly understand, and start to address.
LIMS Code Review: We Can Always Do Better
As I always tell people, standards are living documents. They’re not meant to be static. If you have problems using them during your LIMS code review, there’s something wrong, somewhere. It’s not a big deal – just address the problem with the standards and fix them.
Need an Experienced LIMS Basic Programmer?
When we claim to be the LabWare LIMS experts, it’s not just an understanding of what the commands are. It includes understanding following standards and documentation. Call us when you need someone who can create something not just usable, but also maintainable.