Отлаживаю значит методы и натыкаюсь на очень алгоритмически запутанный метод, который должен возвращать количество знаков в музыкальной тональности. Сплошная стена из циклов и switch/case-ов (даже goto был).
Проанализировав метод, я замечаю, что он по сути возвращает какую-то часть списка знаков.
Попробовал заменить стену алгоритмов на генератор всех возможных значений + обрезающий алгоритм и, о чудо, всё заработало. В итоге сократил код с 100500 строк до 23.
Почаще бы смотреть на функции со стороны. Как правило, они проще чем кажутся




