devclub.eu

IT-встречи в Таллине (на русском)

Видео: Антон Кекс и Антон Архипов. Ping-pong programming

На прошедшей встрече участникам посчастливилось стать очевидцами такого явления как программерский пинг-понг в исполнении двух Антонов. Вот видео, наслаждайтесь!

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

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

Назад

Devclub 29/09/09, еще пара слов

Далее

«Я и другие» Феликс Соболев (1971 г.)

15 комментариев

  1. Maxim

    Видеопотоки не совпадают по времени. В середине видео ScreenCapture опережает видеокамеру секунд на 10.

  2. Дмитрий Коновалов

    Хочу поблагодарить Антонов за очень интересную и увлекательную презентацию такого необычного подхода к разработке программ. По-моему получилось здорово! Молодцы! Разумеется презентация носила ознакомительный характер и не смогла охватить всех сторон разработки программ, но лично меня это подталкнуло к дальнейшему самостоятельному изучению экстремального программирования в целом и этого вида в частности. Я присутствовал на встрече, поэтому видео еще не смотрел, комментировать не буду.

  3. Действительно интересный подход к програмированию. Жалко только что он так сильно основывается на обьэктно ориентированный подход. Такие веши как getTotal()-функии я бы сразу переписал в UpdateBillInfo()-стиль, в функию пересчитываюшую все зависимые (derived) части счета. И запускал-бы я эту функцию после каздого изменения в счете. (Для оптимизации можно исползовать разного вида dirty-флаги, указиваюшие какая часть информации устарела)

    • продемонстрированный подход совершенно не завязан на ООП. TDD можно применять с любой парадигмой программирования.

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

  4. Мега-статья, «pair programming is not for the masses», которая хорошо описывает, каким критериям должна соответствовать здоровая команда девелоперов, чтобы смочь делать pair programming, и какая от этого польза. Recommended read: http://blog.obiefernandez.com/content/2009/09/10-reasons-pair-programming-is-not-for-the-masses.html

  5. В целом подход понятен и очень прозрачен.
    Но для наглядности можно было бы одному из участников конференции предложить попедалить все вместе и тесты и код, а потом дать ему в помощь одного из докладчиков для написания тестов. Лично на своем опыте знаю , что так очень наглядно :)).

    Не совсем удачный пример, если честно выбран , для самого приложения… как говорил Галыгин (с) «Был у меня один могильничек …» — писал я разбор строки ну и тесты к нему очень полезны оказались тесты особенно когда их стало больше т.е. с большим покрытием бизнес логики . Так к примеру было видно где одни тесты проходят а другие нет хотя как должно быть в идеале все тесты должны проходить .

    Но все равно спасибо за видео.

  6. Yury

    Господа, подскажите, а какую они нажимают комбинацию клавиш:
    Test
    -> ??? ->
    @Test
    public void ()

  7. @Yury Да, это кастомный live template. Набираешь «Test», нажимаешь TAB, и вместо «Test» появлается тест.

    Но в последних версиях IDEA это можно делать проще, кастомный live template больше не нужен. Теперь просто Alt+Insert -> «Test method».

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

создано с помощью WordPress & Автор темы: Anders Norén