ペアプログラミングを支える技術

LiT!関西 Advent Calendar 2014 1日目の記事ということで、プログラミングを教える/教わるときによくやっているペアプロとそれを支えるMacの便利機能について書きます。

ペアプログラミングとは

2人が1台のPCを使ってプログラミングすることです。キーボードを操作してコードを書く人(ドライバー)とその様子を眺める人(ナビゲーター)の役割に分かれて交代でプログラムを書きます。ドライバーは今何をしようとしているか、ナビゲーターは気になるところや別解について積極的に話しながら作業を進めます。

2人で1つの作業を行うので生産性が落ちるという欠点がありますが、それ以上に綺麗なコードが書ける互いの知識を共有できるなどの利点があります。特に上級者と初心者がペアを組んでプログラムを書くと、上級者のコードの書き方や開発環境を実際に見て学べる、リアルタイムに助言を受けられる、といった効率のよい学習を行うことができます。

画面共有しよう

一緒にコードを書いていると「ちょっと貸して!」みたいな状況が多々あると思います。その度に席を入れ替えたり身を乗り出すのも面倒なので、2人のPCから1つの画面を操作できると便利です。Macはデフォルトで画面を共有する機能を搭載しているので、その使い方について説明します。以下、画面共有を受け入れる側をドライバーPC、申請する側をナビゲーターPCとします。

まずはドライバーPCのシステム環境設定>共有を開きます。1.画面共有にチェックを入れ、2.コンピュータ設定を選択して、3.ほかのユーザが画面操作の権限を要求することを許可にチェックを入れます。

次にナビゲーターPCでFinder>移動>サーバへ接続(ショートカットキー:⌘+K)を開き、ドライバーPCに表示されているvnc://(IPアドレス)を入力します。

画面操作の権限に関する選択画面が現れるので、アクセス権を要求を選んで接続ボタンを押します。

ドライバーPCに要求を許可するか確認画面が現れるので画面を共有をクリックします。

以上の設定が完了するとドライバーPCの画面が表示され、ナビゲーターのカーソル移動・キーボード入力を受け入れるようになります。早速ペアプロを開始しましょう。

なお、Macの画面共有を使用するには2つのPCが同じネットワークに接続されている必要があります。離れた環境で画面を共有する場合はScreenheroTeamViewerGoogleハングアウトのリモートデスクトップ機能を使うことをおすすめします。アカウント作成やソフトウェアのインストールが不要で簡単という理由で、今回は画面共有を紹介しました。

LiT!関西 Advent Calendar 2014次回はほっしゃん(@Recursible)がAndroidのioschedライブラリの解析に関する記事を書いてくれます。お楽しみに!