Пара инструментов программирования, которые не являются удаленными - PullRequest
8 голосов
/ 27 марта 2010

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

Мне интересно, есть ли какая-нибудь программа, которая позволила бы мне эффективно использовать два курсора и фокусировку клавиатуры на одном компьютере. Если они не существуют, то я готов поэкспериментировать со своим собственным решением, но я хотел бы узнать, как лучше всего этого добиться. Я наиболее знаком с технологиями .Net 3.5, но я также знаю Java и готов изучать C ++ для решения этой проблемы.

Если бы я сам создавал решение, я бы пошел по пути, позволяя захватить ввод одного аппаратного устройства (например, установленной конкретной мыши) и предотвратить перемещение указателя в Windows, а вместо этого переместить указатель моих собственных программ. независимо друг от друга.

Ответы [ 6 ]

15 голосов
/ 27 марта 2010

То, что я однажды сделал:

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

Каждый разработчик получает два монитора, один из которых подключен к компьютеру ДРУГОГО разработчика.

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

Затем каждый разработчик устанавливает бесплатное программное обеспечение под названием «Synergy2» (http://synergy2.sourceforge.net/)) на свой компьютер и настраивает его так, чтобы, когда разработчик перемещал курсор мыши за край своего экрана в сторону, противоположную другой монитор виден, тогда разработчик может взаимодействовать с интерфейсом другого разработчика.

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

Иногда это в конечном итоге работает как классический метод, когда один разработчик всегда ездит, а другой всегда ездит на дробовике, но это по крайней мере дает возможность работать как независимо, так и вместе.

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

2 голосов
/ 27 марта 2010

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

Если вы готовы заплатить около 100 долларов, есть несколько возможных программ, которые вы можете попробовать:

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

Кстати, термин для одного компьютера с несколькими мониторами: multi-head ; термин для одного компьютера с несколькими мониторами и клавиатурами: для нескольких мест .

0 голосов
/ 27 марта 2010

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

Пример ситуации: Вы создаете форму заявки для чего-то, и вы хотите, чтобы там были пользовательские часы, показывающие истекшее время. В то время как один человек находится на главной машине (имеет больше возможностей для тестирования, если требуется?), Создающий форму и создающий код для этого, второй человек находится на дешевом компьютере, пишущем класс для прошедших время часов. импортированные и затем vairables могут быть вызваны «Namespace.Class.Variable». Это был бы еще один вариант, позволяющий обоим людям работать одновременно, и если вы оба сидите рядом друг с другом, я полагаю, вы все еще можете видеть, что делает другой, и при этом иметь доступ к печатанию текста на других. работы. Это может быть лучше, чем 2 компьютера с 2 экранами каждый; P

0 голосов
/ 27 марта 2010

Вы также можете взглянуть на MultiMouse .

0 голосов
/ 27 марта 2010

Я использую VNC, но RDP, вероятно, тоже можно заставить работать. Я подключаюсь к серверу VNC моего партнера и вижу его рабочий стол, печатаю на его экране, перемещаю его курсор и т. Д. Однако, когда я хочу посмотреть API или сделать свое собственное кодирование, я могу свернуть окно, переместить его в другой монитор или просто установите поверх него мой браузер / редактор.

0 голосов
/ 27 марта 2010

Классическое парное программирование - это когда 2 программиста сидят за ПК, но только один программист пишет код.

...