feature



Предыдущая | Следующая

feature (особенность, характерная черта, возможность), сущ 1. Хорошее свойство или правильная линия поведения программы. Возникло это свойство само по себе или является результатом больших усилий, значения не имеет 2. Специально задуманное и реализованное свойство или линия поведения программы; хорошее оно (она) или нет, значения не имеет (если оно плохое, то может называться feature title=misfeature >misfeature </a> – недостаток) 3. Удивительное, неординарное свойство или линия поведения, такое, в частности, которое не укладывается в общую схему только потому, что работает гораздо лучше чем требуется. Исходя из этого определения, все, что выходит за рамки, можно назвать характерной особенностью (feature), а не ошибкой (bug). Иногда такая особенность называется неправильной бородавкой (см. wart title=miswart >miswart </a>), классический пример см. в статье wart title=miswart >miswart </a> 4. Избыточная возможность, ничего не добавляющая к функциональности программы, но которая, тем не менее, придает ей шарм. Например, в Common LISP функция formatможет выводить числа в двух разных форматах – арабскими цифрами и римскими (см. bells, whistles, and gongs) 5. Возможность, предназначенная для целей, отличных от ваших, и попавшая вам под руку чисто случайно 6. Ошибка, о которой указывается в документации. Бывает, что автор программы не предусматривает обработку той или иной ситуации, и хотя назвать совсем неправильной такую программу трудно, в отдельных случаях ее поведение может быть, мягко говоря, неожиданным. Как шутят хакеры, превратить такую недоработку в feature можно, просто написав о ней в документации. «Это вовсе не ошибка, а характерная особенность.» После такого хода недовольные пользователи остаются с носом – на что жаловаться? в инструкции же все описано! См. также feetch feetch, creeping featurism, wart, green lightning.Зависимость между багами, особенностями, недостатками, бородавками и неправильными бородавками можно понять из гипотетического диалога двух хакеров, сидящих в салоне самолета: А: «Сиденья не откидываются – значит, это баг.' Б: «Это не баг, а особенность. За твоей спиной находится аварийный выход, совмещенный с окном, и путь к нему нельзя загромождать.' А: «Тогда это недостаток. Проектировщикам следовало бы увеличить расстояние между рядами.' Б: «Да, но если они это сделают только в одном отсеке самолета, им придется заказывать панели для обшивки нестандартной длины, а это уже бородавка.' А: «На самом деле это будет неправильная бородавка. Если они увеличат расстояние между рядами, то потеряют несколько рядов кресел и лишатся тем самым части прибыли. Правильное решение заключается в расстановке рядов с креслами на разном расстоянии друг от друга.' Б: «Это точно.' Между собой хакеры часто ошибки называют не внесенными в документацию возможностями (undocumented feature).