1 июля 2010 в 02:29

Ссылка: живая демонстрация Ping-pong programming tutorial

Видео с живой демонстрации техники «ping-pong programming» (разновидность парного программирования), показанной на встрече DevClub в сентябре 2009 года:




Так называемое “пинг-понг программирование” является детищем двух известных практик экстремального программирования: парного программирования (pair programming) и разработки через тестирование (test-driven development). Суть в том, чтобы писать тесты до того, как будет написан код, при этом делая наименьшие шаги при написании кода. Т.е. один программист пишет один тест, который компилируется, но “падает”. Затем, второй программист должен написать код, чтобы сделать тест «зелёным», и написать следующий («красный») тест, после чего передаёт эстафету первому программисту. Эта передача инициативы туда-сюда и вызывает ассоциацию с игрой пинг-понг.

Всё это весело и эффектно.

www.devclub.eu/2009/10/19/video-ping-pong-programming

Андрей Солнцев @asolntsev
карма
102,0
рейтинг 0,0
Пользователь
Самое читаемое Разработка

Комментарии (10)

  • –1
    А что делает второй программист, после того как он сделал свой ход? Балду пинает?

    Вы часто видели, когда на практике эффективно применяют пароное программирование? Я подобное видел только в одном случае, когда надо резко завести проект, найти ошибку и допилить. Один пишет, второй ищет ошибки — оба заняты. В данном случае — это растрата ресурсов.

    Более того, это очень похоже на игру, а игра — это соревнование. Значит будет победивший и проигравший. А это очень плохо, в парном программировании подобного нет.
    • +1
      Пока один программист пишет, другой помогает ему думать. Коллективный разум же!

      А ещё, свободный программист может готовить кофе, гуглить, ..., ходить в туалет. В конце концов он может искать ошибки и рефакторить. Это похоже на растрату ресурсов?
    • +1
      Второй в это время смотрит за тем, что конкретно делается, если замечает какие то неточности или возникают вопросы, то он это фиксит в свой ход (который по хорошему длится около минуты), плюс дает советы пишущему (в разумных пределах). Если в это время пинать балду, то через какое то время, я думаю, потеряется нить.

      Так же в ролике говорится о том, что работа в паре повышает эффективность труда — это один из способов начальству заставить разработчиков больше работать. Так же приводилась цифра что эффективность при пинг понге в условии что оба программиста работали бы отдельно так же усердно как и в паре падает на 10 процентов при работе в паре. Но при этом надо учитывать что эффективность труда возрастает при работе в паре, так как чисто психологически сложнее пинать балду, когда на тебя кто то смотрит. Плюс в видео говорится о том, что пары (партнер по программированию) программистов меняются каждый день. Ну и приводилась цифра что при таком подходе количество багов уменьшается раза в три.
    • +1
      > Вы часто видели, когда на практике эффективно применяют пароное программирование?
      Да, вижу каждый день.
      Это реально работает, все эти плюсы срабатывают только то.

      Справедливсти ради надо отметить, что парное программирование не всем нравится. Есть много людей, у которых есть психологический барьер: им не нравится, когда за ними кто-то наблюдает и постоянно что-то советует. Они хоят сидеть за своим компьютером «в одну репу». Но попрбовав ПП на практике, я убедился, что эти люди неправы. Надо этот барьер преодолеть, оно того стоит.
    • 0
      Вы часто видели, когда на практике эффективно применяют пароное программирование?

      Да. При решении сложных задач, при изучении новой технологии, при вхождении в новый проект, при написании программного модуля, который просто в лом делать одному :-)

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

      В данной статье показан вариант парного программирования для TDD, ничего более.

      Парное программирование это не просто работа, это фан! (А ещё экономит офисные столы и компутеры)
  • +1
    Одного не могу понять: почему нельзя по русски разговаривать? Откуда в среде программистов появилась эта дурацкая привычка половину терминов произносить на ломанном английском? Буэ, короче.
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Не видел — не значит, что не бывает.
      А я видел — а это значит, что бывает! :)
  • 0
    У нас в одном проекте так иногда работают — один человек ищет данные для теста и связки, по которым они вытаскиваются, а второй это кодит. У нас достаточно неприятные исходные данные, и удобно это тем, что картину данных держит в голове только один.
  • 0
    Здоровская придумка, однако на практике(у нас по крайней мере) один пишет одну часть(модуль), другой другую. Ну и перед началом работы договариваются как части взаимодействуют.

    Надо будет попробовать так сделать

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.