あなたのコードをその場でレビュー&リファクタリング!「コードレビューライブ 〜伊藤淳一からの挑戦状〜」第2弾を開催しました
12月9日(月)、第5回スキルアップ勉強会「コードレビューライブ 〜伊藤淳一からの挑戦状 part2〜」をオンライン開催しました。
本勉強会は「参加者のコードを生配信でレビューする」異色のイベントとして大好評だった前回に続くpart2として開催しました。
講師は前回に引き続き、ソニックガーデンのプログラマであり、『プロを目指す人のためのRuby入門』(技術評論社)の著者でもある伊藤淳一(@jnchito)が務めました。
伊藤からのお題は「変なカレンダー生成プログラム」。
使いづらそうなカレンダーを出力するという、あまりにも実用性のないお題です。
(お題の詳細はこちら)
今回はレベル1〜レベル3までの課題が出題され、挑戦者は自分のレベルにあわせて挑戦し、コードを提出しました。
今回もイベント内では伊藤によるコードの解説と、リアルタイムのリファクタリングを行い、挑戦者のコードがみるみる整えられていきました。
実は今回のお題、イベント中に伊藤が「問題を難しくしすぎた…」と呟くほど手強く、挑戦者からも「見た目よりも大変だった」との声が寄せられていました。
当日のコメント欄もコードの中身に立ち入った話になり、
・変数の中身がコロコロ変わるとつらいので、それが全部なくなってとてもスッキリした印象です。
・継承ではなく、委譲のほうが処理が追いやすいかもと思いました。
・イメージが湧きやすい関数・湧きにくい関数の基準はあったりしますでしょうか?
といったハイレベルな議論が起こりました。
また、伊藤による模範解答の解説では意外な解法が明かされ、「その発想はなかった」とコメント欄が盛り上がる場面もありました。
最後は、コードの紹介を終えた伊藤からの、
「業務でこういう複雑な仕様を要求された時は、プロダクトオーナーと本当に必要な要件なのか話し合って、もっとシンプルな実装ができるようにすべきです」
という「そもそも論」なアドバイスと、
「ソニックガーデンでは必ずプログラマとプロダクトオーナーが直接やりとりをして仕様を決めます。もしプロダクトオーナーと直接話せない現場にいるなら、弊社の納品のない受託開発に携わってみてはいかがでしょうか!」
というPRをもって、今回のコードレビューライブは幕を閉じました。
【動画版のご案内】
①勉強会本編の動画を公開しました!
②今回も、イベント中にで紹介しきれなかった15人分全員のコードを、伊藤が個別にレビューし、動画撮影しています!
伊藤のYoutubeチャンネルにて再生リストを公開していますのでご覧ください。
本勉強会は、ソニックガーデンが開催する無料のオンライン勉強会「エンジニアのためのスキルアップ勉強会」の第5回です。 次回の開催が決まりましたらconnpassや公式Xで発表しますので、是非フォローくださいませ。