カシオの新人がコードレビューで受けた指摘理由まとめてみた(前半)
こんにちは!今年で入社2年目の元新人です。
入社してからは、スマートフォンアプリの開発業務に携わりました。
入社する前までは、まったくと言っていいほどアプリ開発には関わったことがなく、チームでの開発も初めての経験でした。
今回はそんな私が1年の振り返りを兼ねて、今まで受けてきたレビュー(合計197指摘)を分類して、多かった理由順にランキングまとめてみることにしました。
新人が陥りがちなミスや、レビュワー側で意識する点、カシオの開発で気をつけていること、などの参考になれば幸いです。
背景情報
開発環境
私が携わったアプリ「Runmetrix」はVue.jsで実装したアプリです。
担当した部分の使用言語は以下の通りです。
JavaScript
HTML,CSS
主にトレッドミルモードに関連する部分の画面UI周りを担当しました。
無料なのでよければ下記のリンクからダウンロードして軽く動かしてみてください。
(トレッドミルモードの使用には別売りのセンサーが必要です)
レビュー方法
プルリクエストがわからない方は、下記で丁寧に解説しているのでそちらをご確認ください。
指摘が多かった理由ランキング
2月末までに受けたレビューの指摘理由を多かった順にランキングしてみた結果です。
合計197指摘を、上位10位までまとめてみました。
10位タイが3つあるので実質12位まであります。
どういう基準で分けたのかは個人の主観ですのであしからず。
数が少なかった&分け方がざっくりなので同率が多いです。
分量が多いので今回は10〜6位までを記載します。
10位(タイ) HTML、CSSのレイアウトミス (7回)
指定されたデザインと比較して、ずれているなどのミスです。
初めてのアプリ開発で、拘束条件が頭に入っていなかったのが大きいと思います。
横幅一つ決めるにしても、固定のpx数の横幅にするのか、画面全体とのマージンで決めるのか、その選択肢を理解しておくことがミスを防ぐことに繋がると感じました。
メディアクエリを考慮していなくて、解像度を変えたら文字がはみ出る、枠が見切れる、一つ拘束条件が抜けていて解像度を変えたらずれた、なども多かった印象です。
10位(タイ) 考慮外の仕様 (7回)
アプリの機能を作成している際に、上から降りてくる設計資料や打ち合わせで確認していなかった機能仕様が抜けていた、というミスです。
基本は既存アプリのアップデート作業が多かったため、そこであらかじめ決まっている仕様を把握しきれていないことが原因です。
経験不足もありますが、あらかじめしっかり調査や質問、確認などをするよう心がけて対応したいです。
10位(タイ) JSDoc記入漏れ、記入ミス (7回)
JavaScriptで作成した関数にはどのような関数だったかをコメントとしてJSDocで残す、ということを推奨されていて、それが欠けていた事によるミスです。
最近は意識しているのもありますが、生成系AIに関数を渡してJSDocを生成してもらうのでミスの数は減ってきていると思います。
記入ミスは、途中で関数の中身をいじった際に、変数名などが変わったのをJSDocに反映し忘れた、などのミスです。
9位 フォーマット崩れ (8回)
指定の場所で改行されていなかったり、逆に改行されてしまったり、他には空白が空いていない、元あった空白の行が無駄に消えてしまっているなどの初歩的なミスです。
動作は問題なくする事が多く、また半角空いてないなどはざっくり見ているだけだと気づかないことも多いので、防ぐためにはしっかりと確認が必要です。
エディターの拡張機能で防げる場合もあるので、入れておきましょう。
生成系AIで作ってもらったコード、JSDocなどを流用した場合、改行や空白が少しずれる場合があるので注意したいです。
6位(タイ) スペルミス(タイプミス、タイポ) (10回)
初期の方は英語力もあまりないのも相まって単純な誤字が多かった印象です。こちらもエディターの拡張機能で防げる場合もあるので、入れておきましょう。
後半は小数点以下の桁数が多い数値をハードコーディングした際に桁落ちしていたなどの理由で増えてしまっていますが、本来はもっと低い順位になると思います。
6位(タイ) 非効率なコード (10回)
JavaScriptの仕様を理解していなかったので回りくどいコーディングになっていた際の修正指摘になります。原因は純粋に実力不足です。
入社するまで三項演算子などの基本事項すら知らずにやってきた人間なので、他の言語でも共通の仕様なども理解していないことが多かったです。さすがに後半は減ってきた印象です。
6位(タイ) 実装ミス (10回)
自分で思っていた内容と違う内容で実装されてた、という内容です。
例えば以下のようなミスです。
名前のデフォルトの型を文字列で設定するところを、数値で設定していた
変更すべきファイル名が変更されていないままになっていた
特に元となるコードをコピーしてから変更して流用しようとすると、変更部分を見落とすことが多かった印象です。
後半へ続く
今回は10〜6位を紹介してきました。
後半では5~1位までの紹介と比較を行っていきたいと思います。
【後半の記事はこちら】
【リンク】カシオのソフトウェア採用について