Другое

Не баг, а фича. Что это значит и откуда появилась эта фраза?

Lorem ipsum dolor

Велик и могуч язык программиста. Иногда этот язык наполнен таким количеством сленговых слов, что его трудно понять не то чтобы простым пользователям, а даже молодым и начинающим программистам. Сегодня мы разберем, что значит довольно популярное выражение: «Это не баг, а это фича» и когда оно применяется.

 

«Не баг, а фича!»

Это довольно частое выражение, и услышать его можно в диалоге «заказчик-разработчик» или «разработчик-разработчик». Связано оно с тем, что разрабатываемая программа работает не так, как изначально запланировано. Обо всем по порядку, а пока давайте разбираться, когда используется выражение: «Это не баг, а это фича». А для этого давайте выясним различия между словами «баг» и «фича», и тогда все станет понятно.

 

Что такое «баг» в программировании?

Это довольно частый вопрос, потому что слово «баг» не всегда связано с программированием. В программировании «баг» — это ошибка в программе или в приложении, которая приводит к тому, что программа или приложение не работают как следует. Само слово «баг» происходит от английского слова «bug». По причине воздействия бага на программу мы получаем продукт, при работе которого происходит нежелательный конечный результат.

Баг имеет широкую градацию по способу собственного возникновения и влияния на конечный продукт. Сегодня мы не будем на этом останавливаться, отметим лишь, что все возникающие баги объединяют следующие свойства:

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

 

Что такое «фича» в программировании?

Фича в программировании — это некая новая функция или особенность программы, которая ранее не была оговорена, но в результате не нарушает функциональность программы, а приносит какое-то дополнение в ее работу. Фича происходит от английского слова «feature». Ее цель — улучшить характеристики программы или просто привлечь внимание пользователей своей необычной функцией.

Понятие «фича» существует не только в программировании, оно уже часто употребляется и в обыденной жизни. К примеру, фичами в быту именуют нестандартные функции или дизайн какого-нибудь устройства.

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

 

Когда употребляется выражение: «Это не баг, а это фича»?

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

У заказчика есть некий образ программы, того, как она должна работать. Поэтому любое отклонение от этого «образа» в глазах заказчика будет багом. Но в то же время программист в процессе своей работы может заметить варианты того, как улучшить функциональность программы. Времени на объяснение и согласование с заказчиком нет, поэтому программист внедряет такое небольшое улучшение самостоятельно.

Естественно, что при тестировании продукта такое «улучшение» будет замечено заказчиком и для него оно будет багом. Вот тут как раз и время парировать разработчику, что это не баг, а фича, и объяснять, почему это так.

Для себя можно обобщить, что, если в программе есть ошибка, которая нарушает ее функциональность, — это баг. А если эта же самая «ошибка» не нарушает функциональности программы, а наоборот, улучшает или придает ей некую «изюминку», то это, скорее всего, фича.

Схожие статьи

Рефлексия Java-кода с помощью библиотеки Java Reflection API
Другое

Рефлексия Java-кода с помощью библиотеки Java Reflection API

Как организовать рабочий процесс: советы и лайфхаки
Другое

Как организовать рабочий процесс: советы и лайфхаки

DHCP или PPPoE: что лучше и в чем разница, что такое авторизация IpoE
Другое

DHCP или PPPoE: что лучше и в чем разница, что такое авторизация IpoE

Keepass: что это за программа, как с ней работать и зачем она нужна?
Другое

Keepass: что это за программа, как с ней работать и зачем она нужна?

×