自分のコードをセルフレビューするのがめんどくさいのでcopilotにやってもらいたい。
そんなときの手順を残しておきます。
要約
- VSCodeでレビューしてほしいコードを選択
- Ctrl + i / Command + i
- このプログラムをコードレビューしてください。と入力
- レビューが生成されます
詳細
今回のレビュー対象
私の過去の公開記事にしてみました。
コードを選択
Ctrl + i / Command + i でcopilotのチャットウィンドウを表示
/ をタイプし、explainを選択
レビューの依頼を入力
レビューが開始されます
完了するとチャットウィンドウへの表示が選べます。
チャット表示例
結果
いい点と改善点を示してくれました。
ここでは省略していますが、改善後のコード案も提示してくれるのでとても参考になります。
そして、過去の私のコードが事例とは言えお目汚しであったことが認識できました。
今後とも自分のコードの品質を高めていきたいと心に誓いました。
このJavaScriptコードは、地図上でドラッグ操作を行うためのスクリプトです。以下にコードレビューを行います。
良い点
初期化関数の使用: mapInit関数を使用して地図の初期化を行っており、コードの可読性が高いです。
イベントハンドラの設定: mousedown, mousemove, mouseupイベントを適切にバインドしており、ドラッグ操作を実現しています。
改善点
グローバル変数の使用: ymap, dragStartPos, dragEndPos, movingPos, isDraggingなどの変数がグローバルスコープに定義されています。これらは関数スコープに閉じ込めるか、モジュールパターンを使用してグローバル汚染を避けるべきです。
jQueryの依存: jQueryを使用していますが、現代のブラウザではネイティブのDOM操作が強化されているため、jQueryの使用を再検討しても良いでしょう。
ハードコーディングされた座標: 地図の初期位置がハードコーディングされています。これを設定ファイルやユーザー入力から取得するようにすると柔軟性が増します。
イベントハンドラのリファクタリング: イベントハンドラ内のコードが冗長です。例えば、dragStartPosやdragEndPosの初期化は一行で行うことができます。
改善例
以下に、いくつかの改善点を反映したコード例を示します