It's simple. For programmers, code is king. For scientists, data is king. Code can be recreated. Data is irreplaceable, so that's what is important, along with method.
Some code has to be trusted, and scientists can't check every assumption every time, so I don't blame them. But why don't they allow others to check the code? It's the opposite of scientific method.
How is that any different from a random programmer assuming the physicists are incompetent and presuming that what is really necessary is a code review?
EDIT: publishing code don't require dismantling equipment. It's not my fault electrician isn't very good analogy.
EDIT: True, not a great analogy.