Программирование методом подбора

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Программирование методом подбора, иногда называют «случайным программированием», является подход к разработке программного обеспечения при котором проблема решается итеративно, делая небольшие изменения (перестановки) и тестирование каждого изменения, чтобы увидеть, ведет ли оно себя, как хотелось бы. Такой подход иногда кажется привлекательным, когда программист не в полной мере понимают код и считают, что одна или несколько небольших изменений может привести к коду, который является правильным.

Пример[править | править исходный текст]

Например, следующий пример кода C (предназначен для поиска и копирования последовательности цифр с большой строки) имеет несколько проблем:

char* buffer = "123abc";
char destination[10];
 
int i = 0;
int j = 0;
int l = strlen(buffer);
 
while (i < l) {
    if (isdigit(buffer[i])) {
        destination[j++] = buffer[i++];
    }
    ++i;
}
 
destination[j] = '\0';
printf("%s\n", destination);


Но это не дает правильного результата. Для заданной начальной строки он печатает «13», в то время как правильным результатом является «123». Программист, не видящий структурной проблемы, может ухватиться за одну команду, сказав "ага, здесь лишнее увеличение на единицу". Он удаляет строку «++i», но при тестировании программа зацикливается. "Ой, неверное увеличение". Команда возвращается на место и удаляется post-increment переменной i строкой выше:

    if (isdigit(buffer[i])) {
        destination[j++] = buffer[i];
    }

Примечания[править | править исходный текст]