Про это мы вроде тоже говорили. Проверять треугольник на корректность можно в методах его создания или модификации. Чтобы просто нельзя было создать объект с некорректными полями. Тогда бы все эти проверки ушли из остальных методов, и не пришлось вкручивать этот int вместо старого bool.

Это такая расплата за ошибки проектирования. Предлагаю подумать над тем, чтобы исправить их пока не поздно. А то еще потом юнит-тесты на все это писать!