Дублирование кода — термин из программирования, под которым понимается, что некоторые участки исходного кода могут встречаться более чем однажды, как внутри одной, так и в нескольких программных сущностях. Дублирование является симптомом так называемого «дурно пахнущего кода».[1] В первую очередь потому, что увеличивается его длина; именно из-за дублирования, а не из-за совпадений. Последовательность дубликатов иногда называют клонами.
Вот список причин, по которым две части кода могут считаться дубликатами:
Вот ряд причин, по которым дубликаты кода могут быть созданы:
Дублирование кода является признаком низкого или ленивого стиля программирования. Хороший стиль программирования обычно основан на повторном использовании кода. Может казаться, что использование дубликатов позволит несколько ускорить процесс создания программы, так как программисту не нужно будет задумываться над тем, как код уже используется и как он может использоваться в дальнейшем. Однако, проблема заключается в том, что написание кода — это лишь скромная часть жизненного цикла продукта, и дальнейшее сопровождение кода с дубликатами будет слишком осложнено. Вот несколько проблем, к которым приводит дублирование кода:
Существует определенное количество алгоритмов, позволяющих отыскать дубликаты кода. Например:
Приведём следующий фрагмент кода, который вычисляет среднее значение массива целых чисел.
extern int array1[];
extern int array2[];
int sum1 = 0;
int sum2 = 0;
int average1;
int average2;
int i;
for (i = 0; i < 4; ++i)
sum1 += array1[i];
average1 = sum1/4;
for (i = 0; i < 4; ++i)
sum2 += array2[i];
average2 = sum2/4;
В этом примере два цикла могут быть выделены в отдельную функцию:
int calcAverage (int* Array_of_4)
{
int sum = 0;
for (int i = 0; i < 4; ++i)
sum += Array_of_4[i];
return sum/4;
}
Использование этой функции избавит код от дубликатов:
extern int array1[];
extern int array2[];
int average1 = calcAverage(array1);
int average2 = calcAverage(array2);
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .