As far as clean code goes, I tend to think of DNA as the opposite. It is worth noting, especially in bacteria, that DNA is a scarce and expensive resource. So evolution tends to prioritise efficent use of DNA, rather than clean and orderly use. The result is that the same bit of DNA will often do several things. This gets extreme in viruses where the short genome will have 2 genes literally on top of the each other and simply use different compilers to generate their respective proteins. It only gets messier from there (in all organisms). It's worth remembering that some genes are not on your side and like to copy themselves (transposons), your immune system will adapt itself (bacterial CRISPr does this too), things sometimes just break randomly.
Finally, unlike code, none of this has any meaningful process control, its all random things influenced by random fluctations in the environment!
Finally, unlike code, none of this has any meaningful process control, its all random things influenced by random fluctations in the environment!