見出し画像

他人のコードにレビューする際に役立つ「良いコードの3つの基準」

42に入学してから他の学生が書いたコードへのレビューを6回ほど経験しました。

ぼくは知識も浅く、わかりやすく説明する力もないので、レビューは毎回苦労します。

先日も、相手のコードのなかで2次元配列の使い方がおかしいと気づいたとき、2次元配列についてネットで画像を拾ってきて視覚的にも説明しましたが、なかなか理解してもらえず20分ぐらい話しこみました。

レビューを受ける相手もレビューで課題の得点が決まるので、なかなか誤りを認めない場合もあります。

相手の反論は理屈が通っていなのかもしれませんが、ぼくは自分の知識にまだまだ自信がないので、相手の言っていることも正しいのでは?と思ってしまうんですよね。

相手のためにも、自分のためにも、正しい知識をわかりやすく伝える力を42にいる間に身につけたいと思います。

42では他の学生のコードを1回レビューすると、レビューポイントというものが1ポイント増えます。

このレビューポイントは、自分のコードをレビューしてもらう時に消費するので、レビューを受けたければ、他の学生のコードにレビューをしてレビューポイントを稼がなければいけません。

42では授業も教科書もないので、レビューの質が学習の質を左右します。

ですのでレビューをする学生は「コードを提出した学生が、コードの内容についてきちんと理解しているかを確認すること」と、「コードの質を上げれそうであれば、助言をすること」が求められます。

逆にレビューを受ける学生は「自分の書いたコードについて説明する義務」があります。

これらを通じて、お互いのコミュニケーション力を上げ、プログラミングへの知見を深める仕組みとなっており、よくできているなと思います。

「コードの質を上げれそうであれば、助言をする」というと、ぼくのようなプログラミングを始めたばかりの人間にはハードルが高そうですが、「良いコードの3つの基準」に沿って提出されたコードを確認すると、助言の内容が見つけやすくなります。

「良いコードの3つの基準」は、ハーバード大学が無料で公開しているコンピューターサイエンス入門コース「CS50x」で紹介されていました。

【良いコードの3つの基準】
①正確さ
・意図した通りに「正しく動く」か
・意図した以上に動いた場合もNG
②デザイン
・より良い「問題解決方法」
・同じことの繰り返しはNG
③スタイル
・コードの「読みやすさ」
・読み手への配慮

レビューをした6回のうち、ぼくがまだ取り組んでいない課題へのレビューが2回ほどありましたが、3つの基準を意識することでなんとかレビューを終えることができました。

特に「コードの読みやすさ」に関しては、ぼくでも助言できることがあり、よく使っているしている視点です。


匿名のコメ・質問はmondまで👍 https://mond.how/ja/hovinci_jp