Brewer2000
Угадай где говнокод!?
Вот два примера реализации функции для обнуления массива:
int a[n];
...
void clear_array_1()
{
int i;
for (i = 0; i < n; i++)
{
a[i]=0;
}
}
....
void clear_array_2()
{
a[0]=0;
a[1]=0;
a[2]=0;
...
a[n-2]=0;
a[n-1]=0;
}
...
Информация к размышлению:
Функция void clear_array_1
- достоинства, в случае большого массива малое количество строк кода (меньший конечный размер приложения) ;
- недостатки, использование дополнительной ячейки оперативной памяти для i, долгое время выполнения (две лишних инструкции на каждый элемент массива), затруднена читаемость кода (необходимо в голове прокрутить цикл, для осознания результата его работы).
Функция void clear_array_2
- достоинства, наибыстрейшее выполнение функции (одна инструкция на один элемент массива), не используется оперативная память, легко читаемый код.
- недостатки, в случае большого массива большое количество строк кода (дополнительные затраты времени на написание, но если платят за количество строк, резко превращается в достоинство! ;-) ).
Разъясните мне бестолковому, какая из функций говнокод, а какая для тру отцов???
