КулЛиб - Классная библиотека! Скачать книги бесплатно
Всего книг - 716165 томов
Объем библиотеки - 1422 Гб.
Всего авторов - 275471
Пользователей - 125272

Новое на форуме

Новое в блогах

Впечатления

Lena Stol про Небокрад: Костоправ. Книга 1 (Героическая фантастика)

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

Рейтинг: 0 ( 0 за, 0 против).
Lena Stol про Батаев: Проклятьем заклейменный (Героическая фантастика)

Бросила читать практически в самом начале - неинтересно.

Рейтинг: 0 ( 0 за, 0 против).
Masterion про Харников: Вечерний Чарльстон (Альтернативная история)

До Михайловского не дотягивает. Тема интересная, но язык тяжеловат.

2 Potapych
Хрюкнула свинья, из недостраны, с искусственным языком, самым большим достижением которой - самый большой трезубец из сала. А чем ты можешь похвастаться, ну кроме участия в ВОВ на стороне Гитлера, расстрела евреев в Бабьем Яру и Волыньской резни?.

Рейтинг: 0 ( 1 за, 1 против).
Lena Stol про Чернов: Стиратель (Попаданцы)

Хорошее фэнтези, прочитала быстро и с интересом.

Рейтинг: 0 ( 0 за, 0 против).
Влад и мир про серию История Московских Кланов

Прочитал первую книгу и часть второй. Скукота, для меня ничего интересно. 90% текста - разбор интриг, написанных по детски. ГГ практически ничему не учится и непонятно, что хочет, так как вовсе не человек, а высший демон, всё что надо достаёт по "щучьему велению". Я лично вообще не понимаю, зачем высшему демону нужны люди и зачем им открывать свои тайны. Живётся ему лучше в нечеловеческом мире. С этой точки зрения весь сюжет - туповат от

  подробнее ...

Рейтинг: 0 ( 0 за, 0 против).

Парное программирование: преимущества и недостатки [Алистэр Коуберн] (fb2) читать постранично, страница - 2


 [Настройки текста]  [Cбросить фильтры]

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

Приблизительно через четыре месяца я стал замечать некоторые изменения. Одна пара разработчиков весь день работала всместе - это было настоящее парное программирование. Другие две пары тоже были близки к этому идеалу. В процессе обсуждения стало ясно, почему изменения в процессе все-таки произошли. Так было удобнее работать!

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

Наконец, мы подготовили промежуточную версию системы и отдали ее в отдел контроля качества (QA). К нашему удивлению, процесс тестирования прошел без сучка без задоринки. Это было тем более удивительно, что одну из подсистем некоторое время назад целых шесть (!) недель мучили в отделе QA. Было совершенно очевидно, что парное программирование коренным образом уменьшило количество дефектов в системе.

С течением времени сотрудничество программистов становилось все более тесным.

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

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

Сам я начал работать в паре только к концу проекта. Как только моему партнеру и мне удалось синхронизировать наши мысли, я понял, как замечательно работать вдвоем.

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

… После этого разработчики сами решили использовать практику парного программирования и в дальнейшем. Никакие указания свыше не сравнятся с личным опытом.

Направления исследования

Мы рассмотрим здесь восемь направлений исследования, связанных с программированием и организационной эффективностью. Удивительно, но все они свидетельствуют в пользу парного программирования. Итак, мы вели наши исследовали в следующих направлениях:

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

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

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

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

Решение проблем. Все опрошенные нами программисты подчеркивали, что при парном программировании возрастает способность команды быстро находить выход в "безвыходных" ситуациях.

Обучение. Работающие в парах программисты утверждают, что многому учатся друг у друга..

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

Персонал и управление проектом. Когда каждый фрагмент кода хорошо знаком