Открыть сервисСервис

Прогрессивное программирование

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

Два значения термина

«Прога» как разговорное название программы

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

  • исполняемого файла или приложения;
  • скрипта, написанного на языке программирования;
  • утилиты, утилитарного инструмента;
  • тестового задания или учебной программы (в контексте обучения программированию).

Термин не имеет строгого определения и используется преимущественно в устной речи. В официальной документации и учебной литературе вместо него применяется полное слово «программа».

Прогрессивное программирование

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

Ключевые черты метода:

  • Инкрементность — новая функциональность добавляется порциями, каждая из которых расширяет предыдущую.
  • Ранняя обратная связь — программа запускается с первых дней разработки.
  • Рефакторинг — структура кода регулярно перерабатывается без изменения внешнего поведения.
  • Тестирование с первого дня — пишутся автотесты, прогоняемые после каждого изменения.

История

Идеи инкрементной разработки появились в 1960-е годы в работах по итеративным жизненным циклам. Термин «прогрессивное программирование» закрепился в 2000-е годы в контексте agile-движения и методов XP (Extreme Programming) и Scrum. В русскоязычной практике слово «прога» как название подхода используется редко; чаще встречается как разговорное название самого программного продукта.

Пример прогрессивной разработки

Рассмотрим создание простого калькулятора:

  1. Итерация 1 — программа складывает два числа, введённых пользователем.
  2. Итерация 2 — добавляется вычитание, деление, умножение.
  3. Итерация 3 — появляется графический интерфейс.
  4. Итерация 4 — добавляется история вычислений, сохранение в файл.
  5. Итерация 5 — поддержка научных функций: корень, логарифм, степени.

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

Прога в образовании

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

См. также

Источники

  • Мэйерс К. «Эффективное использование C++» — о постепенной доводке программного кода.
  • Бек К. «Extreme Programming Explained» — итеративная разработка.
  • Соммервилл И. «Инженерия программного обеспечения» — жизненные циклы разработки.
  • Рунге А. В., Тропин И. Н. «Программирование на C++» — учебные задания.
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru