見出し画像

GitHub CopilotにTWSNMP FKのマップ表示処理の問題を聞いてみた

今朝は4時半に自力でおきました。昨日書いた私の毛布の話を、かみさんに話したら助手の猫さんから毛布を返してもらえました。猫さんの毛布を別のものにしましたが、寒かったらしく夜中に、かみさんの布団に来ていました。私は、暖かく寝られました。

TWSNMP FKのマップ表示の処理のメモリー使用量が増えていくような気がして調べています。
先月

の記事を見てGitHUB Copilotを試してみようと思っていました。
この問題で試してみることにしました。
マップ表示のソースコードを指定して
メモリーリークの可能性を教えて
と聞いてみました。
回答は、

でした。
一見、もっともらしい回答なので、問題解決できるしれないと思いって嬉しくなったのも束の間でした。
指摘されたことを一つづつ確認してみると残念ながら正しい答えではないようです。確認するのは、ソースコードを見直すだけでなくデバック文をいれて動かしてみる必要があります。AIはそこまでやってくれません。

例えば

let player: HTMLAudioElement = new Audio();

の指摘

* Audioインスタンスが適切に解放されない可能性
* deleteMap()にてplayer解放の処理を追加すべき

は、TWSNMP FKが動作中は同じインスタンスを使い続けるのでdeleteMapで解放する必要はありません。deleteMapという関数の名前で判断しているようですが、中身まで読み取ってはくれないようです。
もしかすると、GitHUB Copilotはあまり重要ではない細かいことに面倒なことを言うやつかもしれません。
先代の助手の猫が天から
「わしぐらいの助手になるのは、まだ先のようだな!」
と言っています。
現在の助手の猫さんは、何も知らずに、まだ、かみさんの布団で寝ています。

自力でマップ表示のソースコードを読んで改善しました。
いくつかの処理をスッキリさせることができました。
ただし、メモリーリークにつながるような問題のある処理は見つかっていません。もう少し調べてみようと思います。

明日に続く


いいなと思ったら応援しよう!

twsnmp
開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。