Насчёт рефлексов не знаю, но программирование методом тыка я видел.

Для этого нужен тестер. Процесс выглядит так. Тестер сообщает, что в программе ошибка. Программист вносит случайное изменение в программу. Повторяют, пока тестер не скажет, что всё в порядке. Всё хорошо, только начальник стучит кулачком по столу: «Когда, наконец, будут исправлены ошибки?!»
Программирование методом тыка (ну, не такое как вы описали, а с более коротким циклом: вносим случайное изменение, проверяем, повторяем пока программа не будет делать то что нужно) - мощное средство написания алгоритмов. Очень помогает, когда соображалки не хватает, чтобы написать нужный код осознанно.
Тут, мне кажется, стоит уточнить, что тестер - это, желательно, не человек, а набор автоматизированных модульных тестов, и написание хорошего и исчерпывающего набора test cases - ключ к успеху.
Тут, мне кажется, стоит уточнить, что в итоге после всех "уточнений" у нас получилось TDD (test driven development) - далеко не самая плохая штука, в отличие от программирования методом тыка, которое, хоть и описывается вроде более-менее теми же словами, но уточняется немного иначе: тестер - бухгалтер, которому надо срочно сдавать отчет, а программист пишет бухгалтерскую программу, ничего не понимая в бухгалтерии, при этом на фреймворке, который он начал изучать вчера, а каждую ошибку, которую ему показывает бухгалтер, он сначала гуглит (потому что видит впервые), и в продакшен отправляет первый нагугленный кусок кода, который не выкидывает исключение.
(А та часть разработки, которая связана с гуглом, называется "Google driven development"

)