Круговое поручительство

февраля 16, 2012  |  Published in Development Processes  |  9 Comments

Мне на ум пришла такая идея (на оригинальность не претендую), что было бы хорошо организовывать «круговое поручительство» для разработчиков, которое заключается вот в чем:

  • Группа программистов занятая в одном проекте выполняет проверку труда друг-друга.
  • Круговое поручительство похоже на хоровод — тот, кто ведет тебя предоставляет тебе результаты своего труда для проверки, а ты сам предоставляешь свой код тому человеку, который идет за тобой.
  • «Поручитель» не только изучает чужой код, но и делает его рефакторинг и оптимизацию производительности, там где узкие места очевидны.
  • После полученных правок к своему коду каждый член команды должен изучить их и сделать соответствующие выводы.
  • Через определенный промежуток времени все «перетасовываются» заново, так, чтобы у каждого появился новый «поручитель».

круговое поручительство

Что это дает?

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

Недостатком является падение производительности в плане количество фич на человека за единицу времени.

Сейчас я хочу испытать эту идею в команде разработчиков Quasar CMS, а позже поделюсь впечатлениями и выводами. Будет интересно узнать мнение кого-то, кто уже работает с применением подобных техник и тех, кто попробует на практике то, что я здесь описал.

Tags: ,

Responses

  1. solenko says:

    февраля 16, 2012 at 19:09 (#)

    А называется все это обязательный code-review )
    Замечательная штука, но, как и большинмтво практик, работает только если вся команда хочет ее использовать.

  2. says:

    февраля 16, 2012 at 20:05 (#)

    Очевидный минус, что скорость одной итерации будет заисеть от слабого звена цепочки. =)

  3. Ras says:

    февраля 16, 2012 at 20:36 (#)

    Черт) На нас будут ставить опыты)

  4. admin says:

    февраля 16, 2012 at 21:19 (#)

    roma, все зависит от того, как нагрузить эти самые слабые звенья. Если нагрузка распределена пропорционально опыту и продуктивности, то все должно быть ок.

  5. admin says:

    февраля 16, 2012 at 21:20 (#)

    solenko, спасибо, буду знать.

  6. admin says:

    февраля 16, 2012 at 21:21 (#)

    Ras, а как же, мы вообще — экспериментаторы. Сразу кучу модных штук взялись юзать. Тот же Cucumber — достаточно редкая штука.

  7. Ras says:

    февраля 16, 2012 at 21:32 (#)

    Да мы вообщем то маладцы, разве может быть иначе)

  8. says:

    февраля 17, 2012 at 10:13 (#)

    Ну это в разы может увеличить время разработки.
    Во-вторых, необходимо жёстко прописать миллион мелочей и не только, потому как у людей разные подходы к коду, не только к построению, но и оформлению: у кого-то используется Tab 8 символов, у кого-то 2, а у кого-то эти два и то пробелы.
    Так что хорошая штука, но может быть утопией…

  9. admin says:

    февраля 17, 2012 at 12:30 (#)

    none, у рубистов все более-менее однотипно, все используют 2 пробела и все такое… Исключение составляют новички, которые еще не насмотрелись чужого кода. Кроме того, у в Quasar Team уже имеется соглашение по стилистике кода. Здесь под рефакторингом и оптимизацией подразумеваются не такие глобальные вещи, как изменение архитектуры, но более лаконичное переписывание кода с пупотным увеличением производительности, если возможно.

Leave a Response

Для подсветки кода используйте BB - коды: [language]...[/language], где language может быть: ruby, javascript, css, html.