Термины

Программирование методом полного перебора – это нецеленаправленный поиск перестановки функций и аргументов, при которой результат выполнения программы на единственном наборе данных похож на реалистичный.

Иногда срабатывает, чаще – нет. Используется многими программистами активно и не по делу.

  • http://www.alindyar.com alindyar

    попытка запостить код напрямую была тупо профукана. изыините.
    http://www.everfall.com/paste/id.php?58ifxb0kx5zd

  • CEMEH

    А знаешь, дядя Дима, как нас за аппкомпат пиздят…
    Повбывав бы.

  • belaz

    Ещё, наряду с указанными случаями, популярны подстановки нижних и верхних пределов изменения параметров внутренних (да и внешних тоже) циклов (во вложенных).

  • http://section-one.ru Artem

    Очень и очень редко стал видеть метод полного перебора.
    ненадо нанимать таких людей, ага

  • IPv6

    Такой метод иногда помогает чтобы разобраться в чужом очень запутанном коде, понять как то что появляется на экране зависит от того как его вызывают…. но чтобы полагаться на него в production environment… нда…

  • IronPeter

    Да лан, отцовский метод. Лень помнить, умножать вектор на матрицу или матрицу на вектор. Индексировать массивы [X][Y] или [Y][X].

  • http://aklk.com.ua klk

    Когда был студентом, чаще встречал программирование методом исправления ошибок компиляции. Тоже достойный метод.

  • http://www.sdl.ru TSS

    2klk, +1 =)
    А программирование методом полного перебора местами полезно, если хочешь “студентега” подтянуть на уровень нормально и алгоритмически правильно мыслящего программиста

  • dDIMA

    2 IronPeter, 2 TSS
    Метод полного перебора отлично работает, например, в ситуации, когда ты полностью уверен в алгоритме, но тебе лень думать, надо ли поставить +-1 в проверке выражения. Тут полный перебор заключается в проверке двух версий :)
    Хуже, когда в полном переборе начинают случайным образом подбирать аргументы для какой-нибудь WinAPI функции (вместо вдумчивого чтения MSDN), надеясь, что “эта скотина все-таки заработает”.

  • http://nesnausk.org ReJ

    А как вам вот фреймворк для “программирования методом полного перебора”:

    static int method = 0;
    if (method == 0)
    out = array[x][y];
    else if (method == 1)
    out = array[y][x];
    else if (method == 2)
    out = array[x][y] + 1;

    Кстати подходит для афтаматизирования баг фикса, когда билд с запуском занимал 15-20мин (ОМФГ).

  • Pumba

    И кнопку еще забиндить чтобы в реальном времени менять method :)

    Я обычно замечал, что метод перебора чаще используется именно на визуальном коде. Например как писали уже, порядок перемножение матриц, позиции координат в масивах [x][y] или [y][x] и т.д. Так как запустил, увидел что плохо, и меняеш пока не станет хорошо :)

  • IronPeter

    ReJ, малацца! Я обычно параметры для подгонки так в код и вбиваю. Статики удобно менять отладчиком :).

  • my.name

    помница, нуно было хитрый блендинг, а на движке под разные платформы давал разные результаты, написал брутфорс всех значений, с выводом на экран и автоматическим принтскрином, сохранял в jpg так как одинаковые файлы пиксель в пиксель давали одинаковый размер байт в байт (удивительно правда?), и кидал это в папки сортируя по размеру. Потом зашел в проводник, нажал эскиз, и кучу папок сразу по цветам отметал, а потом уже глазками пол часа oO

  • http://devlog.gw-labs.net/ dorfe

    my.name, страшные вещи пишешь!