2014-02-10 3 views
-1

Программисты часто wonder if the use of a certain library or programming style is overkill. Они также часто claim that this is the case (и они often believed).Что такое «перебор»?

Что означает «излишний» в контексте программирования?

+1

это вопрос для программистов.stackexchange.com not stackoverflow – tom

+1

Он имеет то же значение, что и в любом другом контексте: больше, чем нужно. Кроме того, эти вопросы кажутся вне темы для SO imho. – dirkk

+0

Этот вопрос кажется не по теме, потому что речь идет о лингвистике, а не о проблеме программирования. – deceze

ответ

5

«overkill» обычно используется для развертывания чрезмерно гибких и/или перепроектированных решений для решения того, что якобы является простой и сильно локализованной проблемой. Канонический пример: FizzBuzz Enterprise Edition.

0

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

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

Некоторые простые примеры

for i=1 to 100 
    x[i]=2^z[i]; 
    y=x*3;  
end 

Где скопировать весь массив x в каждой итерации достигает желаемого результата, но вы можете также скопировать его поэлементно y[i]=x[i]*3 экономит около 900 операций и таким образом, является излишним.

Использование библиотеки OpenCV для порога позволяет определить изображение, но использует гораздо больше ресурсов, чем это необходимо, и является выраженным примером переполнения.

+1

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

+0

Ну, я думаю, что это как: overkill и, следовательно, плохой код. Это определённое превышение в соответствии с моим определением, но многие поймут разные вещи этой концепцией. – McMa

+0

'x * 3' и' x [i] * 3', вероятно, произведут разные результаты. Может быть, программисту нужно 'x * 3' вместо' x [i] * 3'. Это плохой пример для излишества, имо. –