2) Смотря что подразумевать под ошибками - ведь это очень относительная вещь, в любом коде они есть (даже самых популярных приложениях) и при желании их можно наковырять массу, как мелких так и уязвимостей, но вопрос действительно вам это так сильно нужно?
не просто посидел 2 минуты глянул код а через неделю скажет "там все четко!"
Это называется code review и это как одно из средств для улучшения качества продукта и глупо будет надеяться что это поможет вам избавится от хотя бы половины ошибок которые в свою очередь могут проявляться только во время работы приложения.
Тут желательно наличие юнит и функциональных тестов для удобной поддержки в будущем.
Ну и плюс проводить ручное функциональное тестирование (но не доверять его самому программисту который работает в проекте и вообще желательно любому программисту, они плохие тестировщики).
Я думаю что вы ищите какое-то простое золотое решение которое поможет решить вашу проблему, что бы вам кто-то сказал что все ОК, но все не так просто, так можно получить иллюзию что вы понимаете и контролируете ситуацию. Ищите опытного человека хорошо знает весь процесс разработки и как что делается.