Jump to content

Изобретение колеса заново

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

Источником вдохновения для этой идиоматической метафоры является то, что колесо — это древний архетип человеческой изобретательности (настолько глубокий, что он продолжает лежать в основе большей части современных технологий ). Поскольку оно уже изобретено и не считается имеющим каких-либо недостатков, попытка изобрести его заново не добавит ему никакой ценности и будет пустой тратой времени, отвлекая ресурсы исследователя от, возможно, более достойных целей.

Использование

[ редактировать ]

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

«Изобретение колеса» может быть ироничным клише – неясно, когда на самом деле было изобретено само колесо. Современное «изобретение» колеса на самом деле может быть «переизобретением» древнего изобретения. Кроме того, регулярно разрабатывается и продается множество различных колес с усовершенствованиями существующих колес (например, многие типы доступных шин). Метафора подчеркивает понимание существующих решений, но не обязательно их принятие.

В разработке программного обеспечения

[ редактировать ]

При разработке программного обеспечения часто необходимо изобретать велосипед, чтобы обойти несовместимость лицензирования программного обеспечения или технические и политические ограничения, присутствующие в частях или модулях, предоставляемых третьими сторонами. [ нужна ссылка ] Примером может служить реализация быстрой сортировки для сценария, написанного на JavaScript и предназначенного для внедрения в веб-страницу. Алгоритм быстрой сортировки хорошо известен и легко доступен в библиотеках для разработчиков программного обеспечения, пишущих приложения общего назначения на C++ или Java , но некоторые реализации JavaScript не предоставляют этот конкретный алгоритм. Следовательно, если разработчик хочет надежно использовать быструю сортировку на своей веб-странице, он должен «заново изобрести велосипед», заново реализовав алгоритм. Они могли бы скопировать его с другой веб-страницы, но тогда они могли бы столкнуться с проблемами авторского права и лицензирования программного обеспечения. Изобретение велосипеда в этом случае обеспечивает недостающую функциональность, а также позволяет избежать проблем с авторскими правами.

Кроме того, новички в языке (и особенно новички в программировании) часто пытаются вручную написать множество функций, для которых более надежный и оптимизированный эквивалент уже существует в стандартной библиотеке или других легко доступных библиотеках. [ нужна ссылка ] Хотя это может быть полезно в качестве обучающего упражнения, если делать это по незнанию, результат зачастую становится менее читабельным , менее надежным, менее протестированным и менее оптимизированным, а его написание, тестирование, обслуживание и отладка занимает больше времени .

Программные проекты, которые представляют собой заново изобретенные колеса

[ редактировать ]
[ редактировать ]

Повторное изобретение квадратного колеса — это практика излишнего проектирования артефактов, которые обеспечивают функциональность, уже предоставляемую существующими стандартными артефактами (изобретение колеса), и в конечном итоге приводят к худшему результату, чем стандарт ( квадратное колесо ). Это антишаблон , который возникает, когда инженер не знает или пренебрегает стандартным решением или не понимает проблему или стандартное решение в достаточной степени, чтобы избежать проблем, преодолеваемых стандартом. Чаще всего это беда неопытных инженеров или эффект второй системы .

Многие проблемы содержат тонкости, которые давно были решены в основной инженерии (например, важность гладкости обода колеса). Любой, кто начинает с нуля, игнорируя уровень техники , естественно, столкнется с этими проблемами заново, и для получения удовлетворительного результата ему придется потратить время на разработку решений для них (скорее всего, тех же решений, которые уже хорошо известны). Однако когда изобретение колеса рассматривается как подзадача более крупного инженерного проекта, а не как отдельный проект с целью создания лучшего колеса, инженер часто не рассчитывает потратить на это много времени. В результате используется недоработанная, плохо работающая версия колеса, тогда как использование стандартного колеса было бы быстрее и проще и дало бы лучшие результаты.

Предварительное изобретение колеса предполагает отсрочку выполнения задачи, если ожидается, что она будет предпринята позже. Примером может быть: «Мы не хотим заранее изобретать велосипед» при обсуждении решения проблемы, когда известно, что решение разрабатывается где-то еще. Это не обязательно уничижительно. [1]

Переопределение колеса — это практика поиска новых и часто непонятных способов описания вещей, когда существующий способ их описания был совершенно адекватен.

См. также

[ редактировать ]
  1. ^ Брандт, П. (2003), Проект изменения лидерства, неопубликованный
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: fa53ecfce0d1ea0f3277dc891e891423__1719940500
URL1:https://arc.ask3.ru/arc/aa/fa/23/fa53ecfce0d1ea0f3277dc891e891423.html
Заголовок, (Title) документа по адресу, URL1:
Reinventing the wheel - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)