Пара инструментов программирования, которые не являются удаленными

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

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

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

6 ответов

Решение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам