stringtranslate.com

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

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

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

Применение

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

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

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

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

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

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

Похожие фразы

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

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

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

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

Смотрите также

Рекомендации

  1. ^ Брандт, П. (2003), Проект изменения лидерстванеопубликованный