good first issueとは、その名の通り初めて行うのに適したissueです。
(元々GitHubがissueに付与するためにあらかじめ用意してあるラベルの1つだったようで、FBCにおいてはまずチーム開発の流れに慣れるために、修正内容自体はごく簡単な文字修正やリンク追加などのissueに割り振られているようです)
good first issue: 初回のコントリビューターに適した Issue を示します デフォルトラベルについて
<モブプロについての補足>
定義上のモブプロでは「ドライバー」は他メンバーからの指示に従ってコードをタイピングしていきますが、今回はこの定義に沿っていません。
good first issueに取り組むにあたって、僕がissueの内容を読み上げたりどこのコードをどういじるのかを声に出して作業しているところを他の人に見ていただき、何か困ったことがあったらアドバイスをしてもらったり、そうじゃなくても見ている人が何か気づいたことや気になることがあればドンドン声をかけていただく、という形式のものでした。
(なので厳密には「モブプロ」ではないのですが、FBC内ではこのスタイルのことも「モブプロ」と呼んでいる気がします。他のちょうどいい言葉があるといいのになぁ)
🧑🏻💻 なぜモブプロでやったのか?
FBCのgood first issueを進めるにあたって、「Good First Issue 攻略」というFBC生向けのドキュメントがあります。
ものすごく丁寧な説明が掲載されたドキュメントで、基本的にはこのドキュメントに沿って進めればgood first issueは問題なくクリアできるのではと思います。
上述の「Good First Issue 攻略」というドキュメント内に、先輩受講生がgood first issueでモブプロを呼びかけているDiscord画面のスクリーンショットがありました。これを見てシンプルに「good first issueでモブプロやるの面白そうだな、自分もやってみたいな」と思ったのがモブプロ開催をしたキッカケです。
(「Good First Issue 攻略」内にもチーム開発に参加し、はじめて Issue に着手する際はペアプロ・モブプロを開催するのがおすすめです。サポートしてもらいましょう。と記載されています)
a, b = gets.split.map(&:to_i)
sum = a + b
puts sum % 2 == 1 ? (sum + 1) / 2 : sum / 2
通った!
●メソッド化して書く
メソッドを作る練習のために、あえてそういう書き方をする。
メインメソッド、計算するメソッド、標準入力を取得するメソッドの3つを作成。
def main
a, b = read_nums
puts get_average(a, b)
end
def get_average(a, b)
sum = a + b
sum % 2 == 1 ? (sum + 1) / 2 : sum / 2
end
def read_nums
gets.split.map(&:to_i)
end
main