Jump to content

Ковбойское кодирование

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

Программист-ковбой может быть одиноким разработчиком или частью группы разработчиков, работающих с минимальными процессами и дисциплиной. [1] Обычно это происходит, когда бизнес-пользователи мало участвуют или поддерживается руководством, которое контролирует только аспекты проекта, не связанные с разработкой, такие как общие цели, сроки, объем и визуальные эффекты («что», но не «как»). "). [ нужна ссылка ]

Термин «ковбойское кодирование» обычно воспринимается как уничижительный термин по сравнению с более структурированными методологиями разработки программного обеспечения .

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

В ковбойском программировании отсутствие формальных методологий управления программными проектами может указывать (хотя и не обязательно) на небольшой размер проекта или его экспериментальный характер. [2] Программные проекты с этими атрибутами могут демонстрировать:

Отсутствие структуры выпуска [ править ]

Отсутствие оценки или планирования реализации может привести к задержке реализации проекта. Внезапные сроки или срочные выпуски программного обеспечения могут стимулировать использование «быстрых и грязных» методов, которые потребуют дальнейшего внимания позже. [3]

Неопытные разработчики [ править ]

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

Это может привести к недооценке времени, необходимого для обучения, что приведет к задержкам в процессе разработки. Неопытность также может привести к игнорированию принятых стандартов , что затруднит чтение исходного кода проекта или вызовет конфликты между семантикой языковых конструкций и результатом их вывода. [4]

требования Неопределенные к дизайну

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

Незавершенность [ править ]

Многие модели разработки программного обеспечения, такие как экстремальное программирование , используют поэтапный подход, который подчеркивает, что программное обеспечение должно быть готово к выпуску в конце каждой итерации. Неуправляемые проекты могут иметь мало модульных тестов или рабочих итераций, что делает незавершенный проект непригодным для использования. Таким образом, гибкие методологии сравнивают с ковбойским кодированием, но в гибком кодировании есть формальные процессы, процедуры, измерения, управление проектами и другой надзор, в то время как в ковбойском кодировании ничего из этого нет. [5] [6]

Преимущества [ править ]

  • Разработчики поддерживают рабочую среду свободной формы, которая может поощрять экспериментирование, обучение и бесплатное распространение результатов.
  • Это позволяет разработчикам пересекать архитектурные и/или многоуровневые границы для устранения ограничений и дефектов проекта.
  • Поскольку обсуждение архитектур, написание спецификаций и проверка кода отнимают много времени, один разработчик (если его достаточно) вполне может быстрее создать работающее приложение с помощью ковбойского кодирования. Такие задачи, как исследование или создание прототипов, могут не требовать качества кода, обеспечиваемого более сложными методами.
  • Поскольку программированием можно заниматься в свободное время разработчика, проект может быть реализован, чего в противном случае не было бы. [7]

См. также [ править ]

Ссылки [ править ]

  1. ^ Скотт, Велкер. «ковбойское кодирование» . поиск качества программного обеспечения . ТехТаржет . Проверено 2 марта 2022 г.
  2. ^ Хьюз, Боб и Коттерелл, Майк (2006). Управление программными проектами , стр. 283-289. McGraw Hill Education, Беркшир. ISBN   0-07-710989-9
  3. ^ «В защиту водопада: деконструкция манифеста Agile» (PDF) . Проверено 1 февраля 2016 г.
  4. ^ «StickyMinds - STAREAST 2000: Исповедь (выздоравливающего) кодирующего ковбоя» . StickyMinds . Проверено 2 февраля 2016 г.
  5. ^ «Изучение гибкой разработки» . Информационный бюллетень Pragmatic Software .
  6. ^ «StickyMinds — Не просто ломайте программы. Создавайте программы» . StickyMinds . Проверено 2 февраля 2016 г.
  7. ^ К, Алекс. «20 процентов времени Google в действии» , Официальный блог Google, 18 мая 2006 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: abe24d7e704f1685a15aa7dc543b6f80__1707292500
URL1:https://arc.ask3.ru/arc/aa/ab/80/abe24d7e704f1685a15aa7dc543b6f80.html
Заголовок, (Title) документа по адресу, URL1:
Cowboy coding - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)