То, что вы написали — утопия и повод для неврозов на тему что вы, такие какие есть — фиговый программист.
Примите факт, что вы пишете с ошибками. Поняв это — уже можно думать что с этим делать. Например — писать тесты. Попробовать test-driven-development. Нанять тестировщика. Тогда есть возможность выдавать продукт.
Если кому-то требуется программист, который пишет без ошибок — просто уходите от такого заказчика/работодателя. Он просто будет разводить вас на чувство вины.