Самый базовый навык поиска ошибок заключается в разделении кода на все возможные пути выполнения, а затем проверке каждого из них. Бонус: Каждая кодовая вселенная, созданная путем разделения условий if, проще и легче для проверки, чем оригинал.
10,13K