There is no such thing as perfection in the world of software. In fact, a developer who believes they can actually achieve perfection or can produce perfect code is unbelievably dangerous. Why? When a developer believes that it is possible to produce perfect code, they refuse to see what could actually go wrong. This is equivalent to a blind person attempting to cross a busy freeway unassisted. Sure they might make it, but it is definitely not safe, and absolutely not recommended.
Let me be clear, this is not a free pass to skimp on quality. Just because we can’t build the perfect system, doesn’t mean that we shouldn't strive for one. See, while we understand that we cannot create perfect code, we as developers should still always pursue it. However, we should pursue perfection with eyes open to our own faults and potential shortcomings. We need to focus on developing the best code we can while making sure we are looking for all the junk that could potentially go wrong with it. Murphy’s law is always at play with software when it is deployed. However, when we take time to discover what could go wrong during development, we can take appropriate action to create assertions, unit tests, error handling, and/or exception handling to help mitigate the potential fallout. When the appropriate actions are taken, we can deliver a much higher quality product. So in essence, you can’t develop perfect code, but with the proper checks and balances in place you should be able to get relatively close.